services: vue: container_name: ce_vue image: ce-vue:latest ports: - "8090:8090" # 映射到宿主机的 8090 端口 restart: always networks: - ce_network backend: container_name: ce-pybackend image: ce-pybackend:latest ports: - "13011:13011" restart: unless-stopped networks: - ce_network depends_on: - vue extra_hosts: - "s1.ronsunny.cn:10.10.10.9" postgres: image: postgres:15-alpine container_name: ce_postgres environment: POSTGRES_DB: ktor POSTGRES_USER: postgres POSTGRES_PASSWORD: 123456 volumes: - postgres_data:/var/lib/postgresql/data ports: - "5432:5432" networks: - ce_network restart: unless-stopped redis: image: redis:7.2.3-alpine container_name: ce_redis volumes: - redis_data:/data ports: - "6379:6379" networks: - ce_network restart: unless-stopped minio: image: minio/minio:RELEASE.2025-03-12T18-04-18Z container_name: ce_minio environment: MINIO_ACCESS_KEY: minioadmin MINIO_SECRET_KEY: minioadmin volumes: - minio_data:/data ports: - "9000:9000" - "9001:9001" command: server /data --console-address ":9001" networks: - ce_network restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s timeout: 20s retries: 3 # ollama: # image: ollama/ollama # container_name: ce_ollama # deploy: # resources: # reservations: # devices:7 # - capabilities: [gpu] # 启用 GPU 支持 # volumes: # - ollama_data:/root/.ollama # 持久化 ollama 数据 # ports: # - "11434:11434" # 暴露 ollama 的端口 # networks: # - ce_network # restart: unless-stopped etcd: container_name: ce_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 networks: - ce_network volumes: - etcd_data:/data/etcd command: etcd -advertise-client-urls=http://etcd:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /data/etcd healthcheck: test: ["CMD", "etcdctl", "endpoint", "health"] interval: 30s timeout: 20s retries: 3 milvus: container_name: ce_milvus image: milvusdb/milvus:v2.6.1 command: ["milvus", "run", "standalone"] security_opt: - seccomp:unconfined environment: ETCD_ENDPOINTS: etcd:2379 MINIO_ADDRESS: minio:9000 MQ_TYPE: woodpecker networks: - ce_network 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" attu: image: zilliz/attu:v2.6 container_name: ce_attu environment: MILVUS_URL: ce_milvus:19530 # 指向你的 Milvus 容器 ports: - "19531:3000" # 浏览器访问端口 networks: - ce_network restart: unless-stopped depends_on: - milvus # 定义数据卷 volumes: postgres_data: redis_data: minio_data: ollama_data: # 定义 ollama 的数据卷 etcd_data: milvus_data: # 定义网络 networks: ce_network: driver: bridge