94be5620a6
- Helmet CSP: upgrade-insecure-requests und HSTS für HTTP-Deployments deaktiviert (war die Ursache der leeren Seite - Browser versuchte JS über HTTPS zu laden) - Backend: statische Dateien werden jetzt in allen NODE_ENV-Modi serviert - Frontend: IS_DEV erkennt auch VITE_TEST_MODE=true (Build-Zeit Variable) - Dockerfile: VITE_TEST_MODE=true beim Vite-Build, NODE_ENV=development - docker-compose.yml: NODE_ENV=development, CORS_ORIGIN=* - Gitea Workflow: Auth-Token für git clone, Build via Portainer API statt lokaler Docker CLI Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
35 lines
956 B
YAML
35 lines
956 B
YAML
services:
|
|
tippspiel:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: wm2026-tippspiel
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3301:3001"
|
|
environment:
|
|
- NODE_ENV=development
|
|
- 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=*
|
|
- 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
|