strat-gameplay-webapp/docker-compose.yml
Cal Corum e0c12467b0 CLAUDE: Improve UX with single-click OAuth, enhanced games list, and layout fix
Frontend UX improvements:
- Single-click Discord OAuth from home page (no intermediate /auth page)
- Auto-redirect authenticated users from home to /games
- Fixed Nuxt layout system - app.vue now wraps NuxtPage with NuxtLayout
- Games page now has proper card container with shadow/border styling
- Layout header includes working logout with API cookie clearing

Games list enhancements:
- Display team names (lname) instead of just team IDs
- Show current score for each team
- Show inning indicator (Top/Bot X) for active games
- Responsive header with wrapped buttons on mobile

Backend improvements:
- Added team caching to SbaApiClient (1-hour TTL)
- Enhanced GameListItem with team names, scores, inning data
- Games endpoint now enriches response with SBA API team data

Docker optimizations:
- Optimized Dockerfile using --chown flag on COPY (faster than chown -R)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 16:14:00 -06:00

69 lines
1.5 KiB
YAML

# 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