version: '3.9' services: web: build: . container_name: apcups-dashboard ports: - "10280:8000" env_file: .env environment: - REDIS_URL=redis://redis:6379/0 depends_on: redis: condition: service_healthy restart: always healthcheck: test: ["CMD", "curl", "-fsS", "http://localhost:8000/healthz"] interval: 30s timeout: 5s retries: 3 start_period: 15s redis: image: redis:7-alpine container_name: redis restart: always # Uncomment to require password (must also set REDIS_URL=redis://:PASS@redis:6379/0): # command: ["redis-server", "--appendonly", "yes", "--appendfsync", "everysec", "--requirepass", "${REDIS_PASSWORD}"] command: ["redis-server", "--appendonly", "yes", "--appendfsync", "everysec"] healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 3s retries: 5 volumes: - redis-data:/data volumes: redis-data: