services: flight: build: . # Generated map-asset pack (~100 MB, not in git/image): `npm run assets:download` # populates ./public; absent/empty → app falls back to remote OFM styles. volumes: - "./public:/app/public" # Game state SQLite (v0.6.0): seeded on first run, must survive rebuilds. # Dedicated dir — do NOT mount over /app/data (would mask airports_eu.csv). - "./db:/app/db" environment: # e2e-only affordance (v0.7.0): enables POST /api/test/create-package and # /api/test/expire-package so the suites can force known routes/expiries; # 404 without this var. FLIGHT_TEST_HOOKS: "1" networks: - dev_net labels: - "traefik.enable=true" - "traefik.http.routers.flight.rule=Host(`flight.dev.kkhost.pl`)" - "traefik.http.routers.flight.entrypoints=web" - "traefik.http.services.flight.loadbalancer.server.port=3000" networks: dev_net: external: true