49 lines
2.0 KiB
YAML
49 lines
2.0 KiB
YAML
# 用法:./start.sh neo4j ... 或 docker compose --env-file .env -f compose/compose-neo4j.yaml up -d(在 deploy/docker 目录执行)
|
||
# 或通过组合关键字:./start.sh middleware neo4j / ./start.sh all neo4j
|
||
# 说明:Neo4j 图数据库(社区版,用于知识图谱 / GraphRAG 能力验证)
|
||
# 官方文档: https://neo4j.com/docs/operations-manual/current/docker/introduction/
|
||
# 镜像: https://hub.docker.com/_/neo4j
|
||
# github: https://github.com/neo4j/neo4j
|
||
# 启动后:
|
||
# - Neo4j Browser: http://127.0.0.1:17474
|
||
# - Bolt 连接: bolt://127.0.0.1:17687(docker 内应用容器地址 bolt://neo4j-bytedesk:7687)
|
||
# - 默认账号 neo4j / ${NEO4J_PASSWORD}(仅空数据卷首次启动生效;复用旧卷时以旧密码为准)
|
||
# 应用侧需在 properties 或环境变量中开启: bytedesk.ai.neo4j.enabled=true(BYTEDESK_AI_NEO4J_ENABLED=true)
|
||
# 注意:healthcheck 密码通过容器内环境变量插值,不在本文件写死
|
||
services:
|
||
bytedesk-neo4j:
|
||
image: neo4j:5.26.30
|
||
container_name: neo4j-bytedesk
|
||
restart: always
|
||
volumes:
|
||
- neo4j-data:/data
|
||
- neo4j-logs:/logs
|
||
environment:
|
||
# 初始密码仅对空 /data 卷首次启动生效;复用已有数据卷时修改本值不会覆盖旧密码
|
||
# 使用 ":-" 兜底,避免 .env 中留空值导致 NEO4J_AUTH=neo4j/ 启动失败
|
||
- NEO4J_AUTH=neo4j/${NEO4J_PASSWORD:-bytedesk-neo4j}
|
||
ports:
|
||
- "17474:7474"
|
||
- "17687:7687"
|
||
networks:
|
||
- bytedesk-network
|
||
healthcheck:
|
||
# 通过 CMD-SHELL 插值引用容器内 NEO4J_PASSWORD,验证 Bolt 链路与认证真正可用
|
||
test: ["CMD-SHELL", "cypher-shell -a bolt://localhost:7687 -u neo4j -p \"$${NEO4J_PASSWORD:-bytedesk-neo4j}\" 'RETURN 1' || exit 1"]
|
||
interval: 30s
|
||
timeout: 10s
|
||
retries: 5
|
||
start_period: 60s
|
||
logging:
|
||
options:
|
||
max-size: "10m"
|
||
max-file: "3"
|
||
|
||
volumes:
|
||
neo4j-data:
|
||
neo4j-logs:
|
||
|
||
networks:
|
||
bytedesk-network:
|
||
driver: bridge
|