version: "3.9" services: redis: image: redis:7-alpine ports: - "6379:6379" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 3 backend: build: context: ./backend dockerfile: Dockerfile ports: - "8000:8000" env_file: - ./backend/.env environment: - DEMO_MODE=false - REDIS_URL=redis://redis:6379/0 depends_on: redis: condition: service_healthy healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s retries: 3 frontend: build: context: ./frontend dockerfile: Dockerfile ports: - "5173:5173" depends_on: - backend