# ───────────────────────────────────────────────────────────── # docker-compose.yml — Hermes Kanban MiniApp deployment # Services: bridge (Express API) + frontend (Nginx SPA) # ───────────────────────────────────────────────────────────── services: # ── Bridge API ─────────────────────────────────────────── bridge: build: context: . dockerfile: packages/bridge/Dockerfile ports: - "3456:3456" env_file: .env environment: # Override bind to 0.0.0.0 so container is reachable BRIDGE_HOST: "0.0.0.0" BRIDGE_PORT: "3456" volumes: # Mount hermes profile directory (read-only) - ${HERMES_HOME:-/home/kisskin/.hermes}:/root/.hermes:ro networks: - kanban restart: unless-stopped healthcheck: test: ["CMD", "wget", "-qO-", "http://127.0.0.1:3456/bridge/v1/health"] interval: 30s timeout: 5s retries: 3 start_period: 10s # ── Frontend (Nginx SPA) ───────────────────────────────── frontend: build: context: . dockerfile: frontend/Dockerfile ports: - "8080:80" depends_on: bridge: condition: service_healthy networks: - kanban restart: unless-stopped networks: kanban: driver: bridge