ampmod/aw3
4
2
Fork
You've already forked aw3
1
Website for AmpMod
  • Svelte 58.2%
  • TypeScript 31.2%
  • mdsvex 3.5%
  • MDX 2.8%
  • JavaScript 2%
  • Other 2.3%
Find a file
AmpElectrecuted bc886857a3
Some checks failed
ci/woodpecker/push/build Pipeline failed
ci/woodpecker/push/renovate Pipeline was successful
Merge pull request 'chore(deps): update dependency @sveltejs/kit to v2.61.1' ( #79 ) from renovate/sveltejs-kit-2.x-lockfile into develop
Reviewed-on: #79 
2026年07月07日 18:13:05 +02:00
.storybook style: new prettier config 2026年02月06日 00:16:20 +00:00
.woodpecker chore: finalize the docker implementation and fix issues 2026年02月04日 19:15:06 +00:00
drizzle feat: broken search engine 2026年05月07日 21:49:38 +01:00
e2e style: new prettier config 2026年02月06日 00:16:20 +00:00
messages chore(l10n): Do not translate AmpMod 2026年05月29日 18:12:58 +02:00
project.inlang fix: don't hardcode formatted dates to en_US 2026年03月15日 22:19:18 +00:00
src feat: maintenance screen 2026年05月16日 23:28:23 +01:00
static refactor: migrate project running to an iframe 2026年05月02日 01:33:14 +01:00
.dockerignore chore: finalize the docker implementation and fix issues 2026年02月04日 19:15:06 +00:00
.env.example chore: finalize the docker implementation and fix issues 2026年02月04日 19:15:06 +00:00
.eslintignore feat: vendor scaffolding 2026年02月15日 15:03:13 +00:00
.gitignore feat: profile pictures and groundwork for uploading 2026年02月07日 02:03:19 +00:00
.npmrc chore: initial commit 2025年09月23日 21:22:59 +01:00
.prettierignore feat: vendor scaffolding 2026年02月15日 15:03:13 +00:00
.prettierrc style: new prettier config 2026年02月06日 00:16:20 +00:00
COPYING chore!: license under AGPLv3 or later 2025年09月23日 21:27:22 +01:00
docker-compose.yml chore(deps): update valkey/valkey docker tag to v9 2026年04月18日 19:05:32 +00:00
Dockerfile chore: finalize the docker implementation and fix issues 2026年02月04日 19:15:06 +00:00
drizzle.config.ts style: new prettier config 2026年02月06日 00:16:20 +00:00
eslint.config.js feat: vendor scaffolding 2026年02月15日 15:03:13 +00:00
garage.toml feat: start working on the actual project sharing system 2026年04月02日 12:36:41 +01:00
package.json Merge branch 'develop' of ssh://codeberg.org/ampmod/aw3 into develop 2026年05月16日 23:29:11 +01:00
playwright.config.ts style: new prettier config 2026年02月06日 00:16:20 +00:00
pnpm-lock.yaml chore(deps): update dependency @sveltejs/kit to v2.61.1 2026年05月28日 19:16:33 +00:00
pnpm-workspace.yaml chore: use pnpm instead of bun 2025年12月28日 23:05:32 +00:00
README.md Update README.md 2026年06月11日 11:51:00 +02:00
renovate.json5 style: new prettier config 2026年02月06日 00:16:20 +00:00
svelte.config.js feat: notifications 2026年04月11日 17:46:15 +01:00
tsconfig.json style: new prettier config 2026年02月06日 00:16:20 +00:00
vite.config.ts feat: start using versioning for aw3, update footer 2026年05月02日 00:18:35 +01:00
vitest-setup-client.ts chore: initial commit 2025年09月23日 21:22:59 +01:00

aw3

aw3 is the software behind (almost) everything on the main AmpMod website. We gave it that strange name because this is the 3rd attempt at making an AmpMod website. The first attempt was this sloppily thrown together PHP server and the second was ampmod-web, which went well until the git history was ruined and poor decisions started to be made after we added a new contributor.

Stack:

  • SvelteKit for integrating the backend and frontend. Because of this, we use Svelte for the frontend.
  • TypeScript for scripting.
  • pnpm for package management.
  • Drizzle ORM and PostgreSQL for the database.
  • Paraglide for translations.

What aw3 does

  • Store projects and their assets
  • Host pages for projects and users
  • Host pages about AmpMod
  • Provide APIs for the above
  • Administrating the aw3 instance

What aw3 won't do in the near future

  • Commenting on projects (it most likely never will - it's a nightmare to moderate for a small community with only a few admins) Update: we are considering adding comments to AmpMod, so this might be removed from the list soon
  • Forums, wiki, manual, extension gallery (hosted separately)
  • Editor (we have links to paths such as /projects/editor and /settings/addons but we expect you to reverse proxy those - see below)

What we plan for aw3 to do

  • Studios

aw3 is purpose-built

aw3 is designed specifically for official AmpMod hosting. It is not built to be a general platform for hosting projects. Using it for a mod of AmpMod or its upstream projects would require heavy modification to have it under your branding, as unlike AmpMod itself, aw3 doesn't use a set-and-forget branding module.

Dev setup

pnpm install
pnpm dev

Database additional step

To run the database, you will need Docker. Then, you can run pnpm db:start in the root of your copy of aw3. It's good to run this in a separate terminal, and run pnpm db:push every time you update the schema.

Running in production

First, you will want to run pnpm run build.

Then, to serve the frontend, run node ./build. To set up the database, run the command above.

For the official AmpMod server, we use Docker and a Woodpecker CI workflow that builds aw3 as a container that can run on the server painlessly.

To set up links to AmpMod itself, such as /projects/editor, you need to use a reverse proxy to route those paths to AmpMod. aw3 previously hosted these routes by itself, but it was a bit clunky so we now expect that you do it yourself.

Licensing

aw3 is licenced under the AGPLv3 or at your option, any later version. See COPYING for more information.

Some files are taken from ampmod-web-front under the MIT licence, and the ampmod gui package under the GPLv3.