在阿里云 ECS 上安装 DeepPath 智能知识库
本文面向要在云服务器上做试点或演示的运维人员,整理自真实部署过程。笔记本或工作站安装请看 安装使用说明书。
安装完成后,浏览器访问 http://<公网IP>:8080
即可使用。本文只讲团队版单机安装包;企业生产(TLS、统一身份、高可用)请
联系我们。
适用规格
| 项 | 建议 |
|---|---|
| 规格 | 至少 4 vCPU / 16 GB。Neo4j 较吃内存,8 GB 容易在拉镜像或首次启动时把机器打满 |
| 系统盘 | 40 GB 以上 |
| 数据盘 | 建议另挂一块 100 GB SSD,专门放 Docker 数据与应用目录 |
| 镜像 | Alibaba Cloud Linux 3 x86_64,或 Ubuntu 22.04+ |
| 架构 | 常见服务器选 linux-amd64 安装包 |
| 网络 | 需要公网 IP;安装过程要能访问 GitHub(下载安装包)和 Docker 镜像源 |
| 地域 | 国内地域即可。模型建议用国内 OpenAI 兼容接口(例如硅基流动),避免 ECS 访问境外 API 不稳定 |
1. 购买实例与安全组
- 新建一台包月 ECS,用密钥对登录,不要开密码登录。
- 单独建安全组,不要复用已对 22 端口全网开放的旧组。
- 入站规则建议:
| 端口 | 来源 | 用途 |
|---|---|---|
| 8080/tcp | 需要访问控制台的网段,演示可临时 0.0.0.0/0 |
知识库 Web |
| 22/tcp | 仅运维出口 IP | SSH |
| 80、443/tcp | 可选 | 以后上 HTTPS 再开 |
- 不要把 PostgreSQL、Redis、Neo4j、MinIO 的端口映射到公网。安装器默认只暴露统一 HTTP 端口。
2. 挂载数据盘
数据盘未使用时先分区格式化,再挂到 /data,并用 UUID 写入
fstab,避免重启丢挂载。
lsblk
mkfs.ext4 -L dpk-data /dev/vdb
mkdir -p /data
UUID=$(blkid -s UUID -o value /dev/vdb)
echo "UUID=${UUID} /data ext4 defaults,nofail 0 2" >> /etc/fstab
mount -a
mkdir -p /data/docker /data/deeppath-knowledge
df -h /data若磁盘已有分区(/dev/vdb1),把上面的
/dev/vdb 改成实际分区设备。
3. 安装 Docker
Alibaba Cloud Linux 3(本次实测路径)
https://get.docker.com 不支持
alinux,向导里的官方脚本会失败。改用阿里云 Docker CE 的
CentOS 8 源:
dnf -y install dnf-plugins-core
dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's|\$releasever|8|g' /etc/yum.repos.d/docker-ce.repo
dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin把镜像和容器数据放到数据盘,并配置国内镜像加速:
mkdir -p /etc/docker /data/docker
cat >/etc/docker/daemon.json <<'EOF'
{
"data-root": "/data/docker",
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.1ms.run"
]
}
EOF
systemctl enable --now docker
docker version
docker compose versionCompose 插件建议 2.32 或更高。2.27
一类旧版本会在后面的「--pull never」步骤失败。
Ubuntu
可用 Docker 官方脚本或发行版源安装 Engine 与 Compose 插件,同样建议把
data-root 指到 /data/docker。
4. 下载 Linux 安装包
到 试用下载页 取 linux-amd64
的 .tar.gz 和同名 .sha256。也可以用长期有效的
Releases 地址:
https://github.com/pathlyapp/deeppath-knowledge-releases/releases/latest/download/deeppath-knowledge-installer-linux-amd64.tar.gz
杭州等地域直连 GitHub 往往只有几十 KB/s。更稳妥的做法:
- 在能走代理的电脑上下载并校验 SHA-256;
- 用
scp传到 ECS 的/opt/deeppath-knowledge/。
mkdir -p /opt/deeppath-knowledge
cd /opt/deeppath-knowledge
tar -xzf deeppath-knowledge-installer-linux-amd64.tar.gz
# 解压后目录名带版本号,例如 deeppath-knowledge-installer-0.1.13-linux-amd645. 运行安装向导
默认安装目录是
~/.deeppath-knowledge。云上建议装到数据盘,并向导只监听本机,通过
SSH 隧道打开浏览器(不要把向导端口暴露到公网)。
cd /opt/deeppath-knowledge/deeppath-knowledge-installer-*-linux-amd64
./deeppath-installer --no-browser --listen 127.0.0.1:7800 --install-dir /data/deeppath-knowledge本机另开终端做隧道:
ssh -N -L 7800:127.0.0.1:7800 root@<ECS公网IP>浏览器打开 http://127.0.0.1:7800/。配置建议:
- 监听地址
0.0.0.0,HTTP 端口8080 - 「内网访问主机名或 IP」填 ECS 公网 IP(会写入 Agent
Skill 使用的
PUBLIC_API_BASE_URL) - 管理员姓名、邮箱、密码(至少 8 位,请自行保管)
- 模型:填写 OpenAI 兼容地址与 API Key,以及对话 / 文本向量 / 多模态向量模型名
全程保持 SSH 会话和联网。安装器会:加载应用镜像 → 拉取 PostgreSQL / Redis / Neo4j / MinIO / Nginx → 迁移数据库 → 启动服务 → 可选地注册管理员并写入默认模型。
6. 安装器失败时如何手工收尾
下面两个问题在 Alibaba Cloud Linux 3 + 较旧 Compose 插件上真实出现过。
unknown flag: --pull
安装器会执行:
docker compose ... run --rm --pull never api uv run alembic upgrade head
docker compose ... up -d --pull neverCompose 2.27 的 run 子命令没有
--pull,向导会停在数据库迁移。镜像此时往往已经加载完成,不要重装,在安装目录手工补跑(不要带
--pull):
cd /data/deeppath-knowledge
docker compose --env-file .env -f compose.yml up -d postgres redis neo4j minio
# 等 postgres healthy 后再迁移
docker compose --env-file .env -f compose.yml run --rm api uv run alembic upgrade head
docker compose --env-file .env -f compose.yml up -d长期方案:把 docker-compose-plugin 升到
2.32+,再重跑向导。
Neo4j 把 16 GB 机器打满
首次启动 Neo4j 默认堆内存偏大,可能造成 SSH
认证后无响应、docker 命令卡住。处理:
- 在云控制台强制重启实例,或用云助手停掉
Docker:
systemctl stop docker - 编辑
/data/deeppath-knowledge/compose.yml,在 Neo4j 的environment中增加:
NEO4J_server_memory_heap_initial__size: 512m
NEO4J_server_memory_heap_max__size: 1G
NEO4J_server_memory_pagecache_size: 512m- 再执行上一节的
up与迁移。
SSH 卡住时用云助手
负载高时不要用 pkill -f deeppath-installer
这类模糊匹配(可能误杀当前 SSH 会话)。在控制台用 Cloud
Assistant / 发送远程命令 执行
uptime、free -h、docker compose ps。
7. 验证访问
安全组已放行 8080 后:
curl -fsS http://127.0.0.1:8080/health
# 期望:{"status":"ok","version":"..."}本机浏览器打开
http://<公网IP>:8080。若向导已创建管理员,直接登录;否则按页面提示创建工作区(第一位注册用户即管理员)。
登录后:创建知识库 → 导入 PDF / DOCX / Markdown / 图片 → 等待抽取与审核 → 提问检索。模型可在「模型设置」中调整。
8. 日常运维
cd /data/deeppath-knowledge
docker compose --env-file .env -f compose.yml ps
docker compose --env-file .env -f compose.yml logs -f api worker proxy
docker compose --env-file .env -f compose.yml restart
docker compose --env-file .env -f compose.yml down # 停服务,数据仍在 volume
docker compose --env-file .env -f compose.yml up -dDocker
应设为开机自启(systemctl enable docker)。容器已带
restart: unless-stopped。
升级:下载新安装包,再跑安装器,选「更新 / 重新安装」。密钥与数据卷会保留。细节见 安装手册。
9. 安全注意
- 演示环境常用明文 HTTP。对外正式使用请在前面加 Nginx / SLB 并配置 TLS,只开放 443。
.env权限应为0600,内含数据库密码、JWT、对象存储密钥和模型 API Key。- 22 端口始终限制为运维 IP;人员出口 IP 变化时先改安全组。
- 团队版单机适合试点。生产架构、备份与等保要求见企业交付,不要把本页规格直接当生产基线。