163 lines
4.1 KiB
YAML
163 lines
4.1 KiB
YAML
|
|
x-kong-config:
|
|
&kong-env
|
|
KONG_DATABASE: postgres
|
|
KONG_PG_HOST: postgres
|
|
KONG_PG_DATABASE: kong
|
|
KONG_PG_USER: postgres
|
|
KONG_PG_PASSWORD: 123456
|
|
services:
|
|
fastapi2:
|
|
build: # 在本文件所在目录运行构建 docker compose build --no-cache
|
|
context: ../../
|
|
dockerfile: ./bbit_ai/docker/Dockerfiledev # 开发版 Dockerfile
|
|
container_name: fastapi-dev
|
|
ports:
|
|
- "13011:13011"
|
|
volumes: # 在本文件所在目录运行
|
|
- ../../bbit_ai/app:/app # 挂载本地代码,实现热更新
|
|
- ../../bbit_ai/docker/:/root/.local/pyzxing # 挂载 jar
|
|
networks:
|
|
- ce_network
|
|
|
|
# ---------- PostgreSQL ----------
|
|
postgres:
|
|
container_name: ce_postgres
|
|
image: postgres:15-alpine
|
|
environment:
|
|
POSTGRES_DB: ktor # 实际上这里已经没用了,因为卷已经创建了,现在在用ktor2、kong两个数据库
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: 123456
|
|
POSTGRES_HOST_AUTH_METHOD: trust
|
|
ports:
|
|
- "5432:5432"
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
networks:
|
|
- ce_network
|
|
restart: unless-stopped
|
|
|
|
# ---------- Redis ----------
|
|
redis:
|
|
container_name: ce_redis
|
|
image: redis:7.2.3-alpine
|
|
command: [
|
|
"redis-server",
|
|
"--save", "60", "100",
|
|
"--appendonly", "yes",
|
|
]
|
|
volumes:
|
|
- redis_data:/data
|
|
ports:
|
|
- "6379:6379"
|
|
networks:
|
|
- ce_network
|
|
restart: unless-stopped
|
|
|
|
# ---------- ETCD ----------
|
|
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
|
|
restart: unless-stopped
|
|
|
|
# ---------- Milvus ----------
|
|
milvus:
|
|
container_name: ce_milvus
|
|
image: milvusdb/milvus:v2.6.1
|
|
command: ["milvus", "run", "standalone"]
|
|
security_opt:
|
|
- seccomp:unconfined
|
|
environment:
|
|
ETCD_ENDPOINTS: etcd:2379
|
|
MQ_TYPE: woodpecker
|
|
MINIO_ADDRESS: ai.ronsunny.cn:9000
|
|
MINIO_BUCKET_NAME: a-bucket-dev
|
|
MINIO_USE_SSL: true
|
|
MINIO_ACCESS_KEY_ID: minioadmin
|
|
MINIO_SECRET_ACCESS_KEY: minioadmin
|
|
MINIO_REGION: Chengdu
|
|
networks:
|
|
- ce_network
|
|
volumes:
|
|
- milvus_data:/var/lib/milvus
|
|
# - ./config/milvus/milvus.yaml:/milvus/configs/milvus.yaml
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
|
|
interval: 30s
|
|
start_period: 90s
|
|
timeout: 20s
|
|
retries: 3
|
|
ports:
|
|
- "19530:19530" # 服务用
|
|
- "9091:9091" # GUI用
|
|
depends_on:
|
|
- etcd
|
|
restart: unless-stopped
|
|
|
|
# ---------- Attu ----------
|
|
attu:
|
|
container_name: ce_attu
|
|
image: zilliz/attu:v2.6
|
|
environment:
|
|
MILVUS_URL: ce_milvus:19530
|
|
networks:
|
|
- ce_network
|
|
ports:
|
|
- "3000:3000" # 浏览器访问端口
|
|
depends_on:
|
|
- milvus
|
|
restart: unless-stopped
|
|
|
|
# ---------- RabbitMQ ----------
|
|
rabbitmq:
|
|
image: rabbitmq:4.2-rc-management-alpine
|
|
container_name: ce_rabbitmq
|
|
hostname: ce_rabbitmq
|
|
environment:
|
|
RABBITMQ_DEFAULT_USER: admin
|
|
RABBITMQ_DEFAULT_PASS: 123456
|
|
ports:
|
|
- "5672:5672"
|
|
- "15672:15672"
|
|
- "15692:15692"
|
|
command: >
|
|
sh -c "rabbitmq-plugins enable --offline rabbitmq_prometheus && rabbitmq-server"
|
|
volumes:
|
|
- rabbitmq_data:/var/lib/rabbitmq
|
|
networks:
|
|
- ce_network
|
|
restart: unless-stopped
|
|
|
|
# ---------- 数据卷 ----------
|
|
volumes:
|
|
postgres_data:
|
|
name: ce_postgres_data
|
|
redis_data:
|
|
name: ce_redis_data
|
|
etcd_data:
|
|
name: ce_etcd_data
|
|
milvus_data:
|
|
name: ce_milvus_data
|
|
rabbitmq_data:
|
|
name: ce_rabbitmq_data
|
|
|
|
# ---------- 网络 ----------
|
|
networks:
|
|
ce_network:
|
|
external: true
|