services: autoc: container_name: AutoC build: . env_file: .env ports: - "8000:8000" restart: unless-stopped command: ["uv", "run", "python", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--workers", "4"] networks: - autoc-net # depends_on: # optional service for blog content extraction with crawl4ai # - crawl4ai nginx: # Optional Nginx service image: nginx:latest container_name: nginx ports: - "8080:8080" volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro depends_on: - autoc networks: - autoc-net restart: unless-stopped crawl4ai: # optional service for blog content extraction with crawl4ai (docker-compose --profile crawl4ai up -d crawl4ai) image: unclecode/crawl4ai:0.6.0-r2 container_name: crawl4ai restart: unless-stopped shm_size: 1g ports: - "11235:11235" networks: - autoc-net profiles: - crawl4ai # Optional Milvus vector database services (docker-compose --profile milvus up -d milvus etcd minio) milvus: container_name: milvus-standalone image: milvusdb/milvus:v2.5.14 restart: unless-stopped command: ["milvus", "run", "standalone"] security_opt: - seccomp:unconfined environment: ETCD_ENDPOINTS: etcd:2379 MINIO_ADDRESS: minio:9000 volumes: - milvus_data:/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 - minio networks: - autoc-net profiles: - milvus etcd: container_name: milvus-etcd image: quay.io/coreos/etcd:v3.6.1 restart: unless-stopped environment: - ETCD_AUTO_COMPACTION_MODE=revision - ETCD_AUTO_COMPACTION_RETENTION=1000 - ETCD_QUOTA_BACKEND_BYTES=4294967296 - ETCD_SNAPSHOT_COUNT=50000 volumes: - etcd_data:/etcd command: etcd -advertise-client-urls=http://127.0.0.1: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 networks: - autoc-net profiles: - milvus minio: container_name: milvus-minio image: minio/minio:RELEASE.2025-06-13T11-33-47Z restart: unless-stopped environment: MINIO_ACCESS_KEY: minioadmin MINIO_SECRET_KEY: minioadmin ports: - "9001:9001" - "9000:9000" volumes: - minio_data:/data command: minio server /data --console-address ":9001" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s timeout: 20s retries: 3 networks: - autoc-net profiles: - milvus networks: autoc-net: driver: bridge volumes: milvus_data: etcd_data: minio_data: