version: "3.9" services: redis: image: redis:7-alpine container_name: stellar-redis ports: - "6379:6379" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 3 start_period: 5s restart: unless-stopped backend: build: context: ./backend container_name: stellar-backend ports: - "3001:3001" env_file: - ./backend/.env environment: - REDIS_URL=redis://redis:6379 depends_on: redis: condition: service_healthy restart: on-failure healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3001/api/health"] interval: 30s timeout: 10s retries: 3 start_period: 10s frontend: build: context: ./frontend container_name: stellar-frontend ports: - "3000:3000" environment: - VITE_API_URL=http://backend:3001/api depends_on: backend: condition: service_healthy restart: unless-stopped