version: '3.8' services: redis: image: redis:7-alpine container_name: wagerkit-redis ports: - "6379:6379" volumes: - redis-data:/data command: redis-server --appendonly yes healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 3s retries: 3 backend: build: context: ./backend dockerfile: Dockerfile container_name: wagerkit-backend ports: - "3001:3001" environment: - NODE_ENV=production - PORT=3001 - REDIS_HOST=redis - REDIS_PORT=6379 - DOME_API_KEY=${DOME_API_KEY:-your_api_key_here} depends_on: redis: condition: service_healthy command: node dist/main.js restart: unless-stopped frontend: build: context: ./frontend dockerfile: Dockerfile container_name: wagerkit-frontend ports: - "3000:3000" environment: - NODE_ENV=production - NEXT_PUBLIC_API_URL=http://localhost:3001/api depends_on: - backend restart: unless-stopped volumes: redis-data: