docker compose upThe php container builds the static site on startup and keeps php-fpm running so you can exec into it at any time:
docker compose exec php bashThe site is then served by nginx at http://localhost/.
| Goal | Command | Exits? |
|---|---|---|
| Dev server with hot-reload (HMR) | npm run dev |
No — stays alive waiting for changes |
| Watch mode (rebuild on save, no HMR) | npm run watch |
No — stays alive |
| Build assets + local site (for local nginx) | npm run build-assets |
Yes |
| Staging build | npm run staging |
Yes |
| Production build | npm run prod |
Yes |
Note:
npm run devstarts the Vite development server on port3000(mapped to the host viaHTTP_PORT_BROWSERSYNC, default3000). It runs an initial Jigsaw build, prints "Initial Jigsaw build completed." and then waits for file changes with HMR. It is not supposed to exit — press Ctrl+C to stop it.
Use this when you want to regenerate build_local manually and return to the prompt:
docker compose exec php bash -lc "npm run build-assets"Help to translate the project on Weblate platform: https://hosted.weblate.org/projects/libresign-coop-site/site/
lang/is managed by Weblate and automation PRs.- Source strings are refreshed automatically by GitHub Actions daily at
02:00(cron). - Normal builds must not modify
lang/.