Spaces:
Paused
Paused
| # ────────────────────────────────────────────────────────────────────── | |
| # OmniRoute — Docker Compose (Production Snapshot) | |
| # ────────────────────────────────────────────────────────────────────── | |
| # | |
| # Isolated production instance running on port 20130. | |
| # Keeps the app running while you continue developing locally. | |
| # | |
| # Usage: | |
| # docker compose -f docker-compose.prod.yml up -d --build | |
| # docker compose -f docker-compose.prod.yml down | |
| # docker compose -f docker-compose.prod.yml logs -f | |
| # ────────────────────────────────────────────────────────────────────── | |
| services: | |
| omniroute-prod: | |
| container_name: omniroute-prod | |
| build: | |
| context: . | |
| target: runner-cli | |
| image: omniroute:prod | |
| restart: unless-stopped | |
| stop_grace_period: 40s | |
| env_file: .env | |
| environment: | |
| - NODE_ENV=production | |
| - PORT=${PORT:-20128} | |
| - DASHBOARD_PORT=${DASHBOARD_PORT:-${PORT:-20128}} | |
| - API_PORT=${API_PORT:-20129} | |
| - API_HOST=${API_HOST:-0.0.0.0} | |
| - HOSTNAME=0.0.0.0 | |
| - DATA_DIR=/app/data | |
| ports: | |
| - "${PROD_DASHBOARD_PORT:-20130}:${DASHBOARD_PORT:-${PORT:-20128}}" | |
| - "${PROD_API_PORT:-20131}:${API_PORT:-20129}" | |
| volumes: | |
| - omniroute-prod-data:/app/data | |
| healthcheck: | |
| test: ["CMD", "node", "healthcheck.mjs"] | |
| interval: 30s | |
| timeout: 5s | |
| retries: 3 | |
| start_period: 15s | |
| volumes: | |
| omniroute-prod-data: | |
| name: omniroute-prod-data | |