7bd22b53e9
Multi-stage build: frontend (Vite) + backend (TypeScript) in one container. Production image based on node:20-alpine with health check. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
35 lines
1017 B
YAML
35 lines
1017 B
YAML
services:
|
|
tippspiel:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: wm2026-tippspiel
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3301:3001"
|
|
environment:
|
|
- NODE_ENV=production
|
|
- PORT=3001
|
|
- DATABASE_URL=${DATABASE_URL}
|
|
- SUPABASE_URL=${SUPABASE_URL}
|
|
- SUPABASE_SERVICE_ROLE_KEY=${SUPABASE_SERVICE_ROLE_KEY}
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
|
|
- FOOTBALL_API_KEY=${FOOTBALL_API_KEY}
|
|
- FOOTBALL_API_BASE_URL=https://api.football-data.org/v4
|
|
- ELEVENLABS_API_KEY=${ELEVENLABS_API_KEY}
|
|
- CORS_ORIGIN=${CORS_ORIGIN:-https://app.staffbase.com,http://localhost:5173}
|
|
- STAFFBASE_PUBLIC_KEY=${STAFFBASE_PUBLIC_KEY:-}
|
|
- STAFFBASE_PLUGIN_ID=${STAFFBASE_PLUGIN_ID:-}
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-qO-", "http://localhost:3001/health"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
start_period: 10s
|
|
retries: 3
|
|
networks:
|
|
- main-network
|
|
|
|
networks:
|
|
main-network:
|
|
external: true
|