ForcePilot/docker/docker-compose.dev.yml

132 lines
3.4 KiB
YAML
Raw Normal View History

2024-10-08 22:16:17 +08:00
services:
api:
build:
context: ..
dockerfile: docker/api.Dockerfile
container_name: api-dev
working_dir: /app
volumes:
2025-04-04 00:16:18 +08:00
- ../server:/app/server
2024-10-08 22:16:17 +08:00
- ../src:/app/src
- ../saves_dev:/app/saves
2025-03-08 20:26:00 +08:00
# - ${MODEL_DIR}:/models # 如果出现 undefined volume MODEL_DIR: invalid compose project请添加此环境变量或者注释此行
2024-10-08 22:16:17 +08:00
ports:
- "5050:5050"
2024-10-08 22:16:17 +08:00
networks:
- app-network
2025-02-28 14:39:03 +08:00
extra_hosts:
- "host.docker.internal:host-gateway"
2024-10-08 22:16:17 +08:00
environment:
- NEO4J_URI=bolt://graph:7687
- NEO4J_USERNAME=neo4j
- NEO4J_PASSWORD=0123456789
- MILVUS_URI=http://milvus:19530
2025-03-08 20:26:00 +08:00
- MODEL_DIR=/models # 优先级高于 .env 中的 MODEL_DIR
2025-02-28 14:39:03 +08:00
- RUNNING_IN_DOCKER=true
2025-04-06 01:42:02 +08:00
command: uvicorn server.main:app --host 0.0.0.0 --port 5050 --reload
2024-10-08 22:16:17 +08:00
web:
build:
context: ..
dockerfile: docker/web.Dockerfile
target: development
container_name: web-dev
volumes:
- ../web:/app
- /app/node_modules
ports:
- "5173:5173"
depends_on:
- api
networks:
- app-network
environment:
- NODE_ENV=development
- VITE_API_URL=http://api:5050 # 添加这行
2024-10-08 22:16:17 +08:00
command: npm run server
graph:
2025-04-28 16:47:26 +08:00
image: neo4j:5.26
2024-10-08 22:16:17 +08:00
container_name: graph-dev
ports:
- "7474:7474"
- "7687:7687"
volumes:
- ./volumes/neo4j/data:/data
- ./volumes/neo4j/logs:/var/lib/neo4j/logs
environment:
- NEO4J_AUTH=neo4j/0123456789
- NEO4J_server_bolt_listen__address=0.0.0.0:7687
- NEO4J_server_http_listen__address=0.0.0.0:7474
- ENTITY_EMBEDDING=true
2024-10-08 22:16:17 +08:00
networks:
- app-network
etcd:
container_name: milvus-etcd-dev
image: quay.io/coreos/etcd:v3.5.5
environment:
- ETCD_AUTO_COMPACTION_MODE=revision
- ETCD_AUTO_COMPACTION_RETENTION=1000
- ETCD_QUOTA_BACKEND_BYTES=4294967296
- ETCD_SNAPSHOT_COUNT=50000
volumes:
- ./volumes/milvus/etcd:/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:
- app-network
minio:
container_name: milvus-minio-dev
image: minio/minio:RELEASE.2023-03-20T20-16-18Z
environment:
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin
volumes:
- ./volumes/milvus/minio:/minio_data
command: minio server /minio_data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
networks:
- app-network
milvus:
2025-04-28 16:40:03 +08:00
image: milvusdb/milvus:v2.5.6
2024-10-08 22:16:17 +08:00
container_name: milvus-standalone-dev
command: ["milvus", "run", "standalone"]
security_opt:
- seccomp:unconfined
environment:
ETCD_ENDPOINTS: etcd:2379
MINIO_ADDRESS: minio:9000
MILVUS_LOG_LEVEL: error # Add this line to reduce log output
volumes:
- ./volumes/milvus/milvus:/var/lib/milvus
- ./volumes/milvus/logs:/var/lib/milvus/logs
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:
- app-network
networks:
app-network:
2024-10-23 16:24:09 +08:00
driver: bridge