name: maxis-mission-control services: app: build: context: . container_name: maxis-mission-control restart: always env_file: - .env environment: PORT: 8080 NODE_ENV: production DATA_DIR: /app/data OPENCLAW_BASE_URL: ${OPENCLAW_BASE_URL:-http://openclaw-gateway-maxi:18790} volumes: - ./data:/app/data healthcheck: test: ["CMD-SHELL", "node -e \"fetch('http://127.0.0.1:8080/health/live').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\""] interval: 30s timeout: 10s retries: 3 start_period: 10s networks: - proxy - openclaw-maxi_default labels: - "traefik.enable=true" - "traefik.http.routers.maxis-mission-control.rule=Host(`mc.texisoft.com`)" - "traefik.http.routers.maxis-mission-control.tls=true" - "traefik.http.routers.maxis-mission-control.tls.certresolver=letsencrypt" - "traefik.http.services.maxis-mission-control.loadbalancer.server.port=8080" logging: driver: "json-file" options: max-size: "10m" max-file: "3" networks: proxy: external: true openclaw-maxi_default: external: true