Skip to main content
For everyday hosting, use deployment. This page is for contributors.

Run locally

Use Node 24 or newer. The Docker image uses Node 26.
Open http://localhost:3000. The development server rebuilds and restarts when source files change. Node commands read your shell environment; they do not load app/.env. To enable local accounts:
In PowerShell, use $env:ACCOUNTS_DB = './data/accounts.sqlite' instead of export.

Build a local container

From the repository root:
Open http://localhost:3712. This setup reads app/.env and preserves accounts in a named volume.

Run checks

Test commands build automatically. Release tests use mocked APIs and temporary repositories; they do not publish real releases. Browser traces are saved under test-results/. Open one with npx playwright show-trace <path-to-trace.zip>.

Find the code

The application is TypeScript; builds produce JavaScript ES modules. Browser assets are assembled in dist/app/public/.

Documentation

The site is evakage.docs.thesteau.com. Navigation and branding live in docs/docs.json. From docs/, run:
See releases for publishing and contribution rules.