rag-backend/docker-compose.yml

115 lines
2.5 KiB
YAML

services:
# --- PostgreSQL (pgvector) ---
postgres:
image: pgvector/pgvector:pg17
container_name: rag-postgres
restart: unless-stopped
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 ---
redis:
image: redis:7-alpine
container_name: rag-redis
restart: unless-stopped
ports:
- "6379:6379"
volumes:
- redisdata:/data
networks:
- rag-network
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 5s
retries: 5
# --- RabbitMQ ---
rabbitmq:
image: rabbitmq:3-management
container_name: rag-rabbitmq
restart: unless-stopped
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
# --- MongoDB (im-system) ---
mongo:
image: mongo:7
container_name: rag-mongo
restart: unless-stopped
environment:
MONGO_INITDB_ROOT_USERNAME: mongo
MONGO_INITDB_ROOT_PASSWORD: mongo123
ports:
- "27017:27017"
volumes:
- mongodata:/data/db
networks:
- rag-network
healthcheck:
test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
interval: 5s
timeout: 5s
retries: 5
# --- RustFS (S3 compatible, file-system) ---
rustfs:
image: rustfs/rustfs:latest
container_name: rag-rustfs
restart: unless-stopped
environment:
RUSTFS_ROOT_USER: minioadmin
RUSTFS_ROOT_PASSWORD: minioadmin
command: server /data --console-address ":9001"
ports:
- "9000:9000"
- "9001:9001"
volumes:
- rustfsdata:/data
networks:
- rag-network
healthcheck:
test: ["CMD", "sh", "-c", "nc -z localhost 9000"]
interval: 5s
timeout: 5s
retries: 5
start_period: 10s
volumes:
pgdata:
redisdata:
rabbitdata:
mongodata:
rustfsdata:
networks:
rag-network:
driver: bridge