CompifAI / compose.yml
daniel-was-taken's picture
Refactor Dockerfile and compose.yml to clean up commented sections and improve readability
d66d8f0
version: '3.5'
services:
# etcd:
# container_name: milvus-etcd
# image: quay.io/coreos/etcd:v3.5.18
# environment:
# - ETCD_AUTO_COMPACTION_MODE=revision
# - ETCD_AUTO_COMPACTION_RETENTION=1000
# - ETCD_QUOTA_BACKEND_BYTES=4294967296
# - ETCD_SNAPSHOT_COUNT=50000
# volumes:
# - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd
# command: etcd -advertise-client-urls=http://etcd:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
# healthcheck:
# test: ["CMD", "etcdctl", "endpoint", "health"]
# interval: 30s
# timeout: 20s
# retries: 3
# minio:
# container_name: milvus-minio
# image: minio/minio:RELEASE.2024-05-28T17-19-04Z
# environment:
# MINIO_ACCESS_KEY: minioadmin
# MINIO_SECRET_KEY: minioadmin
# ports:
# - "9001:9001"
# - "9000:9000"
# volumes:
# - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_data
# command: minio server /minio_data --console-address ":9001"
# healthcheck:
# test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
# interval: 30s
# timeout: 20s
# retries: 3
# standalone:
# container_name: milvus-standalone
# image: milvusdb/milvus:v2.5.14
# command: ["milvus", "run", "standalone"]
# security_opt:
# - seccomp:unconfined
# environment:
# MINIO_REGION: us-east-1
# ETCD_ENDPOINTS: etcd:2379
# MINIO_ADDRESS: minio:9000
# volumes:
# - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus
# healthcheck:
# test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
# interval: 30s
# start_period: 90s
# timeout: 20s
# retries: 3
# ports:
# - "19530:19530"
# - "9091:9091"
# depends_on:
# etcd:
# condition: service_healthy
# minio:
# condition: service_healthy
app:
container_name: rag-app
image: rag-app
build:
context: .
dockerfile: Dockerfile
ports:
- "8000:8000"
environment:
- MILVUS_URI=${MILVUS_URI}
- MILVUS_API_KEY=${MILVUS_API_KEY}
- OPENAI_API_KEY=${OPENAI_API_KEY}
- NEBIUS_API_KEY=${NEBIUS_API_KEY}
- PASSWORD=${PASSWORD}
- CHAINLIT_AUTH_SECRET=${CHAINLIT_AUTH_SECRET}
- OAUTH_GOOGLE_CLIENT_ID=${OAUTH_GOOGLE_CLIENT_ID}
- OAUTH_GOOGLE_CLIENT_SECRET=${OAUTH_GOOGLE_CLIENT_SECRET}
- DATABASE_URL=${DATABASE_URL}
# Memory constraints for 4GB DigitalOcean droplet
# Allocate 1.5GB to app, leaving room for Milvus and system