Files
crmdesk/deploy/docker/compose/compose-neo4j.yaml
T
2026-09-19 16:35:35 +08:00

49 lines
2.0 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 用法:./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:17687docker 内应用容器地址 bolt://neo4j-bytedesk:7687
# - 默认账号 neo4j / ${NEO4J_PASSWORD}(仅空数据卷首次启动生效;复用旧卷时以旧密码为准)
# 应用侧需在 properties 或环境变量中开启: bytedesk.ai.neo4j.enabled=trueBYTEDESK_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