# Isolated e2e stack for CI (.gitea/workflows/ci.yml) — runs inside the job's dind daemon, # never on the production host. Mirrors docker-compose.yml minus Traefik: no external # dev_net, no traefik labels; the app is served directly on port 3000 of the dind container. # The build context is tarred by the compose client in the job and sent over DOCKER_HOST, # so nothing here needs to be visible from inside dind; game state lives in a named volume # (fresh per run, survives `docker compose restart flight` for e2e/state.spec.ts). services: flight: build: . image: flight-ops-ci ports: - "3000:3000" environment: FLIGHT_TEST_HOOKS: "1" volumes: - flight-db:/app/db volumes: flight-db: