# Paper Dynasty Game Engine - Base Configuration # # Usage: # ./start.sh dev - Development with hot-reload # ./start.sh prod - Production build # ./start.sh stop - Stop all services services: # Redis cache (required for OAuth state) redis: image: redis:7-alpine ports: - "6379:6379" volumes: - redis_data:/data restart: unless-stopped healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 # FastAPI Game Backend backend: build: context: ./backend dockerfile: Dockerfile ports: - "8000:8000" env_file: - ./backend/.env environment: - REDIS_URL=redis://redis:6379 depends_on: redis: condition: service_healthy restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/api/health"] interval: 10s timeout: 5s retries: 5 # SBA League Frontend frontend-sba: build: context: ./frontend-sba dockerfile: Dockerfile ports: - "3000:3000" env_file: - ./frontend-sba/.env environment: - NUXT_PUBLIC_LEAGUE_ID=sba - NUXT_PUBLIC_LEAGUE_NAME=Stratomatic Baseball Association # Internal URL for SSR fetches within Docker network - NUXT_API_URL_INTERNAL=http://backend:8000 depends_on: backend: condition: service_healthy restart: unless-stopped volumes: redis_data: networks: default: name: paperdynasty-network