hermes-kanban-miniapp/docker-compose.yml
kisskin ade88808fb
Some checks failed
CI / backend (push) Failing after 37s
CI / frontend (push) Failing after 21s
feat: M4 docker deployment - bridge + frontend containers
- packages/bridge/Dockerfile: multi-stage build (node:22-alpine)
- frontend/Dockerfile: multi-stage build + nginx:alpine
- frontend/nginx.conf: proxy /bridge to bridge service
- docker-compose.yml: bridge (3456) + frontend (8080)
- .dockerignore: exclude backend/node_modules/dist
- Fix vite proxy target to port 3456
- .env with bridge vars (AUTH_MODE=dev)
2026-07-10 14:58:20 +03:00

48 lines
1.6 KiB
YAML

# ─────────────────────────────────────────────────────────────
# 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