services: cargoradar: build: . container_name: cargoradar restart: unless-stopped ports: - "${CARGORADAR_PORT:-8080}:8080" environment: HOST: 0.0.0.0 PORT: 8080 DATA_DIR: /data WEB_ROOT: /app/apps/web/public ADMIN_TOKEN: ${ADMIN_TOKEN:-} KAKAO_JAVASCRIPT_KEY: ${KAKAO_JAVASCRIPT_KEY:-} volumes: - ./runtime-data:/data - ./apps/server/src:/app/apps/server/src:ro - ./apps/web/public:/app/apps/web/public:ro healthcheck: test: - CMD - node - -e - "fetch('http://127.0.0.1:8080/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))" interval: 30s timeout: 5s retries: 3 start_period: 10s