services: postgres: image: pgvector/pgvector:pg17 container_name: rag-postgres environment: POSTGRES_DB: rag POSTGRES_USER: rag POSTGRES_PASSWORD: rag123 ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data - ./docker/initdb:/docker-entrypoint-initdb.d networks: - rag-network healthcheck: test: ["CMD-SHELL", "pg_isready -U rag -d rag"] interval: 5s timeout: 5s retries: 5 redis: image: redis:7-alpine container_name: rag-redis ports: - "6379:6379" volumes: - redisdata:/data networks: - rag-network healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 5s retries: 5 rabbitmq: image: rabbitmq:3-management container_name: rag-rabbitmq environment: RABBITMQ_DEFAULT_USER: rag RABBITMQ_DEFAULT_PASS: rag123 ports: - "5672:5672" - "15672:15672" volumes: - rabbitdata:/var/lib/rabbitmq networks: - rag-network healthcheck: test: ["CMD", "rabbitmq-diagnostics", "check_port_connectivity"] interval: 10s timeout: 10s retries: 5 volumes: pgdata: redisdata: rabbitdata: networks: rag-network: driver: bridge