services: maglev: build: context: . dockerfile: Dockerfile image: opentransitsoftwarefoundation/maglev:latest container_name: maglev ports: - "4000:4000" volumes: # Mount Docker-specific config (uses /app/data/gtfs.db for persistence) - ./config.docker.json:/app/config.json:ro # Persist SQLite database across container restarts - maglev-data:/app/data environment: - TZ=UTC healthcheck: test: [ "CMD-SHELL", "wget -q -O /dev/null http://localhost:4000/healthz || exit 1" ] interval: 30s timeout: 5s retries: 3 start_period: 10s restart: unless-stopped logging: driver: "json-file" options: max-size: "10m" max-file: "3" volumes: maglev-data: driver: local