mirror of
https://gitcode.com/JianFeeeee/TrulyMEM-TrueHumanMEM.git
synced 2026-09-20 08:58:15 +00:00
fix: 修复 Ubuntu 安装脚本 - 移除不可用的 5.0 源,添加 Docker 备用方案
This commit is contained in:
@ -44,54 +44,84 @@ $SUDO apt install -y curl gnupg
|
||||
# 添加 GPG key
|
||||
curl -fsSL https://debian.neo4j.com/neotechnology.gpg.key | $SUDO gpg --dearmor -o /usr/share/keyrings/neo4j.gpg
|
||||
|
||||
# 添加 repository
|
||||
# 添加 repository - 只使用 stable latest(5.0 已不可用)
|
||||
echo "deb [signed-by=/usr/share/keyrings/neo4j.gpg] https://debian.neo4j.com stable latest" | $SUDO tee /etc/apt/sources.list.d/neo4j.list
|
||||
echo "deb [signed-by=/usr/share/keyrings/neo4j.gpg] https://debian.neo4j.com 5.0 latest" | $SUDO tee -a /etc/apt/sources.list.d/neo4j.list
|
||||
|
||||
$SUDO apt update
|
||||
# 允许 apt update 失败继续,但只关注 Neo4j
|
||||
$SUDO apt update -o Dir::Etc::sourcelist="sources.list.d/neo4j.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="false" 2>/dev/null || true
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# 3. 安装 Neo4j
|
||||
# -------------------------------------------------------------------------
|
||||
echo "[3/6] 安装 Neo4j Community Edition..."
|
||||
|
||||
# 安装 neo4j (会同时安装依赖)
|
||||
$SUDO apt install -y neo4j
|
||||
# 尝试通过 apt 安装,如果失败则使用备用方案
|
||||
if $SUDO apt install -y neo4j 2>/dev/null; then
|
||||
echo " Neo4j 通过 apt 安装成功"
|
||||
else
|
||||
echo " apt 安装失败,尝试使用 Docker..."
|
||||
|
||||
# 检查并安装 Docker(如果未安装)
|
||||
if ! command -v docker &> /dev/null; then
|
||||
echo " 安装 Docker..."
|
||||
$SUDO apt install -y docker.io 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# 如果 Docker 可用,使用 Docker 启动 Neo4j
|
||||
if command -v docker &> /dev/null; then
|
||||
docker run -d --name neo4j \
|
||||
-p 7474:7474 -p 7687:7687 \
|
||||
-e NEO4J_AUTH=neo4j/neo4j \
|
||||
-e NEO4J_PLUGINS='["apoc"]' \
|
||||
neo4j:5 || true
|
||||
echo " Neo4j Docker 容器已启动"
|
||||
else
|
||||
echo " 无法安装 Neo4j,请手动安装或使用 Docker"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# 4. 配置 Neo4j
|
||||
# -------------------------------------------------------------------------
|
||||
echo "[4/6] 配置 Neo4j..."
|
||||
|
||||
# 允许远程访问
|
||||
$SUDO sed -i 's/#server.default_listen_address=0.0.0.0/server.default_listen_address=0.0.0.0/' /etc/neo4j/neo4j.conf
|
||||
|
||||
# 设置初始密码 (默认用户: neo4j)
|
||||
# 如果需要设置密码,取消下面注释并修改密码
|
||||
# echo "neo4j:你的密码" | $SUDO tee /etc/neo4j/neo4j-auth
|
||||
|
||||
# 关闭增强监控(开发环境)
|
||||
$SUDO sed -i 's/#dbms.security.procedures.unrestricted=.*/dbms.security.procedures.unrestricted=apoc.*/' /etc/neo4j/neo4j.conf
|
||||
|
||||
# 启用 APOC
|
||||
$SUDO sed -i 's/#dbms.security.procedures.unallowed=.*/dbms.security.procedures.unallowed=apoc.*/' /etc/neo4j/neo4j.conf
|
||||
# 检测是否使用 Docker
|
||||
if command -v docker &> /dev/null && docker ps 2>/dev/null | grep -q neo4j; then
|
||||
echo " 检测到 Neo4j Docker 容器,跳过配置步骤"
|
||||
NEO4J_IS_DOCKER=true
|
||||
else
|
||||
NEO4J_IS_DOCKER=false
|
||||
|
||||
# 允许远程访问
|
||||
$SUDO sed -i 's/#server.default_listen_address=0.0.0.0/server.default_listen_address=0.0.0.0/' /etc/neo4j/neo4j.conf 2>/dev/null || true
|
||||
|
||||
# 关闭增强监控(开发环境)
|
||||
$SUDO sed -i 's/#dbms.security.procedures.unrestricted=.*/dbms.security.procedures.unrestricted=apoc.*/' /etc/neo4j/neo4j.conf 2>/dev/null || true
|
||||
|
||||
# 启用 APOC
|
||||
$SUDO sed -i 's/#dbms.security.procedures.unallowed=.*/dbms.security.procedures.unallowed=apoc.*/' /etc/neo4j/neo4j.conf 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# 5. 启动 Neo4j
|
||||
# -------------------------------------------------------------------------
|
||||
echo "[5/6] 启动 Neo4j 服务..."
|
||||
|
||||
$SUDO systemctl enable neo4j
|
||||
$SUDO systemctl start neo4j
|
||||
|
||||
# 等待启动
|
||||
sleep 5
|
||||
|
||||
# 检查状态
|
||||
if $SUDO systemctl is-active --quiet neo4j; then
|
||||
echo " Neo4j 已启动"
|
||||
if [ "$NEO4J_IS_DOCKER" = "true" ]; then
|
||||
docker start neo4j 2>/dev/null || true
|
||||
sleep 5
|
||||
echo " Neo4j Docker 容器已启动"
|
||||
else
|
||||
echo " 警告: Neo4j 启动可能失败,请检查: sudo systemctl status neo4j"
|
||||
$SUDO systemctl enable neo4j 2>/dev/null || true
|
||||
$SUDO systemctl start neo4j 2>/dev/null || true
|
||||
sleep 5
|
||||
|
||||
if $SUDO systemctl is-active --quiet neo4j 2>/dev/null; then
|
||||
echo " Neo4j 已启动"
|
||||
else
|
||||
echo " 警告: Neo4j 启动可能失败"
|
||||
fi
|
||||
fi
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user