Skip to main content

Development (make up)

Compose looks for .env next to the compose file (infra/.env), not the repo root. That is why the Makefile passes --env-file .env explicitly. Without it, every ${VAR:-default} uses the institution-agnostic default.

cp .env.example .env   # change every change-me-*; do not commit
make up

Migrations: on an empty pg-data volume, the database entrypoint applies infra/pg/migrations/. On an already-initialised volume, apply new ones by hand:

for m in infra/pg/migrations/0*.sql; do
containers exec -i society-pg psql -U society -d society < "$m"
done

There are 26 files 000025 (2026-08-25).

curl -fsS http://127.0.0.1:8091/health
curl -fsS http://127.0.0.1:8091/institution/status # mode: bootstrap | operation

ci-check is the single validation (compose + suites + guardians). Do not dump compose config: it prints secrets. infra-config already redirects; do not copy the old pattern.

Local stage (make stage-up, project sis-stage) simulates the VPS; Stage is not a named environment. Bring Dev down first: container_names are global.