The README still opened on "Primary School Compass", a KS2 tool for Wandsworth and Merton served by FastAPI and vanilla JavaScript with Chart.js. Every layer of that sentence is now wrong: coverage is England-wide across KS2, KS4, all-through and post-16, Next.js owns the public UI, and school data comes from dbt-built `marts.*` rather than CSVs loaded at startup. The setup instructions walked a reader into a virtualenv and a CSV import that cannot build the current schema, so following the docs produced an empty database and a wrong mental model at the same time. Replace the narrative docs with two reference documents that were checked against the code: docs/ARCHITECTURE.md for request flow, data ownership, the backend/frontend module boundaries and the real publication sequence, and docs/DEVELOPMENT.md for the checks that actually run, including the container and CI version skew that makes "just run pytest" misleading. The env examples drifted the same way. ALLOWED_ORIGINS is a JSON array, not a comma-separated list; the frontend needs FASTAPI_URL, DATABASE_URL and PAYLOAD_SECRET, none of which were documented; and RATE_LIMIT_BURST, DEFAULT_PAGE_SIZE and MAX_PAGE_SIZE were presented as tuning controls the routes do not consult. Each is now stated as it behaves. MIGRATION_SUMMARY.md keeps its content but gains a banner, because it reads like setup instructions and is not. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016y2J6bs8gbuSJbH18w7Tan
18 lines
843 B
Markdown
18 lines
843 B
Markdown
# Docker deployment
|
|
|
|
The maintained deployment runbook is [docs/DEPLOY.md](docs/DEPLOY.md).
|
|
|
|
- Production: `docker-compose.portainer.yml`, using `:prod` images.
|
|
- Staging: `docker-compose.portainer.staging.yml`, using `:staging` images.
|
|
- Builds and deployment: `.gitea/workflows/deploy.yml`.
|
|
- Human-approved production promotion: `.gitea/workflows/promote.yml`.
|
|
|
|
The generic `docker-compose.yml` is not a supported one-command onboarding path:
|
|
it still uses `:latest` tags that the release workflow no longer publishes and
|
|
lacks the full current CMS setup. Review the [legacy inventory](docs/LEGACY_CODE.md)
|
|
before using old compose examples. Starting an empty database does not populate
|
|
school marts.
|
|
|
|
For architecture, configuration and test commands, see
|
|
[ARCHITECTURE.md](docs/ARCHITECTURE.md) and [DEVELOPMENT.md](docs/DEVELOPMENT.md).
|