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_world.csv). - "./db:/app/db" # No environment on purpose (#135, v0.62.0): FLIGHT_TEST_HOOKS must NOT be set in production — # it enables the /api/test/* hooks AND makes tickOnce honor legacy stored timeScale values # (pre-v0.52.0 saves hold 1000). The e2e suite runs only in CI against docker-compose.ci.yml, # which sets the var itself. 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