# ============================================================================= # Veritas Kanban — Docker Compose (Local Testing) # ============================================================================= # Usage: # docker compose up --build # Build and start # docker compose up -d # Start in background # docker compose down # Stop and remove # docker compose logs -f # Follow logs # ============================================================================= services: veritas-kanban: build: context: . dockerfile: Dockerfile container_name: veritas-kanban # IMPORTANT: Must match Dockerfile WORKDIR (/app/server) for correct path resolution # Services use process.cwd()/.. to locate project root; mismatched WORKDIR causes EACCES errors working_dir: /app ports: - '3001:3001' environment: - NODE_ENV=production - PORT=3001 - DATA_DIR=/app/data # Reverse proxy support: set when running behind nginx, Caddy, Traefik, etc. # - TRUST_PROXY=1 # Auth: set API keys for production use # - API_KEYS=key1:admin,key2:viewer # - JWT_SECRET=your-secret-here volumes: # Persist task data across container restarts - kanban-data:/app/data restart: unless-stopped healthcheck: test: ['CMD', 'wget', '--no-verbose', '--tries=1', '--spider', 'http://localhost:3001/health'] interval: 30s timeout: 5s retries: 3 start_period: 10s volumes: kanban-data: driver: local