name: aegis services: backend: build: context: ./backend dockerfile: Dockerfile ports: - "8000:8000" env_file: - ./backend/.env environment: # Override Redis URL to use Docker service name - REDIS_URL=redis://:aegis-dev@redis:6379 - FRONTEND_URL=http://localhost:3000 depends_on: redis: condition: service_healthy restart: unless-stopped frontend: build: context: ./frontend dockerfile: Dockerfile ports: - "3000:3000" environment: # Must use localhost (browser makes the request, not the container) - NEXT_PUBLIC_API_URL=http://localhost:8000 depends_on: - backend restart: unless-stopped redis: image: redis:alpine command: redis-server --requirepass aegis-dev volumes: - redis_data:/data healthcheck: test: ["CMD", "redis-cli", "-a", "aegis-dev", "ping"] interval: 2s timeout: 3s retries: 5 restart: unless-stopped volumes: redis_data: