services: www: image: ghcr.io/soruly/trace.moe-www:latest restart: unless-stopped environment: - NEXT_PUBLIC_API_ENDPOINT=http://localhost:3001 ports: - 3000:3000 api: image: ghcr.io/soruly/trace.moe-api:latest depends_on: - postgres - milvus restart: unless-stopped environment: - VIDEO_PATH=/app/video/ - TRACE_API_SALT=SALT - MAX_WORKER=4 - DB_HOST=postgres - DB_PORT=5432 - DB_USER=postgres - DB_PASS=postgres - DB_NAME=postgres - MILVUS_ADDR=http://milvus:19530 - MILVUS_TOKEN=root:Milvus - SERVER_PORT=3000 ports: - 3001:3000 volumes: - type: bind source: ${VIDEO_PATH:?error} target: /app/video/ read_only: true postgres: image: postgres:18 restart: unless-stopped ports: - 5432:5432 environment: POSTGRES_PASSWORD: postgres volumes: - postgres:/var/lib/postgresql adminer: image: adminer:latest restart: unless-stopped environment: - ADMINER_DEFAULT_SERVER=postgres ports: - 8080:8080 etcd: container_name: milvus-etcd image: quay.io/coreos/etcd:v3.5.25 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:/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: quay.io/minio/minio:RELEASE.2024-12-18T13-15-44Z restart: unless-stopped environment: MINIO_ACCESS_KEY: minioadmin MINIO_SECRET_KEY: minioadmin ports: - "9001:9001" - "9000:9000" volumes: - minio:/minio command: minio server /minio --console-address ":9001" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s timeout: 20s retries: 3 milvus: container_name: milvus-standalone image: milvusdb/milvus:v3.0.2 restart: unless-stopped command: ["milvus", "run", "standalone"] security_opt: - seccomp:unconfined environment: ETCD_ENDPOINTS: etcd:2379 MINIO_ADDRESS: minio:9000 MQ_TYPE: woodpecker 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" - "minio" volumes: postgres: etcd: minio: milvus: