# Demo mode: pre-populated dashboard with 32 certificates, 8 agents, 10 issuers, etc. # Use this to showcase certctl's dashboard with realistic data. # # Usage: # docker compose -f docker-compose.yml -f docker-compose.demo.yml up --build # # To start fresh (wipe previous data): # docker compose -f docker-compose.yml -f docker-compose.demo.yml down -v # docker compose -f docker-compose.yml -f docker-compose.demo.yml up --build # # U-3 (P1, cat-u-seed_initdb_schema_drift): pre-U-3 this overlay mounted # `seed_demo.sql` into postgres `/docker-entrypoint-initdb.d/`. That worked # only because the production stack also mounted the migrations there, so # the schema existed at initdb time. Once U-3 dropped the production # initdb mounts (single source of truth: server runs RunMigrations + RunSeed # at boot), the demo seed could no longer be applied at initdb time — the # tables it references wouldn't exist yet. # # Post-U-3 the demo overlay just sets CERTCTL_DEMO_SEED=true; the server # applies seed_demo.sql at boot via postgres.RunDemoSeed AFTER baseline # migrations + seed.sql are in place. Same single source of truth, no # initdb mounts, no schema-vs-seed drift. services: certctl-server: environment: CERTCTL_DEMO_SEED: "true"