version: '3.8' services: postgres: image: postgres:16-alpine container_name: rag-postgres environment: - POSTGRES_USER=raguser - POSTGRES_PASSWORD=ragpass - POSTGRES_DB=ragdb ports: - "5432:5432" volumes: - postgres-data:/var/lib/postgresql/data restart: unless-stopped networks: - rag-network healthcheck: test: ["CMD-SHELL", "pg_isready -U raguser -d ragdb"] interval: 5s timeout: 3s retries: 5 redis: image: redis:8.0-alpine container_name: rag-redis ports: - "6379:6379" volumes: - redis-data:/data command: redis-server --appendonly yes restart: unless-stopped networks: - rag-network healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 qdrant: image: qdrant/qdrant:v1.12.5 container_name: rag-qdrant ports: - "6333:6333" - "6334:6334" volumes: - qdrant-data:/qdrant/storage restart: unless-stopped networks: - rag-network healthcheck: test: ["CMD-SHELL", "timeout 1 bash -c '