ragflow的docker部署和踩坑记录
RAGFLOW安装
首先说明一下当前的环境
系统: centos7
CPU: 4 核
内存: 16 GB
硬盘空间: 80 GB(50G即可)
Docker: 26.1.4
安装docker的话可以参考这个网址:云原生之容器化:Docker的安装与卸载
服务器max_map_count配置
如需确认 vm.max_map_count 的大小:
sysctl vm.max_map_count
如果 vm.max_map_count 的值小于 262144,可以进行重置,这里我们设为 262144:
sudo sysctl -w vm.max_map_count=262144
你的改动会在下次系统重启时被重置。如果希望做永久改动,还需要在 /etc/sysctl.conf 文件里把 vm.max_map_count 的值再相应更新一遍:
vm.max_map_count=262144
我这里的截图
拉取ragflow的git代码
github地址
git clone https://github.com/infiniflow/ragflow.git
或者可以参考国内的gitee库,搜索ragflow即可,有很多,下面是其中一个
ragflow同步仓库-我用的时候版本是v0.16.0
我的操作呢,是先从 gitee下载到本地在压缩包发送到服务器(服务器上不想安装git)
ragflow安装
首先进入解压的目录,我这里压缩包放到了/home下边,解压缩之后进入目录中的docker下
cd /home/ragflow/docker
这里强调一点,下面这个可以修改可以不修改
修改.env中的RAGFLOW_IMAGE值,改为完整发行版,即去掉最后的 -slim,变成下边这样
RAGFLOW_IMAGE=infiniflow/ragflow:v0.16.0
执行以下命令等待即可
docker compose -f docker-compose.yml up -d
完成之后查看ragflow日志
docker logs -f ragflow-server
登录网页 http://ip地址 即可
踩坑记录
问题:下载超时
执行命令 docker compose -f docker-compose.yml up -d后下载超时
解决方案
修改配置文件 /etc/docker/daemon.json,修改后内容如下:
vi /etc/docker/daemon.json
{
"runtimes": {
"nvidia": {
"args": [],
"path": "nvidia-container-runtime"
}
},
"registry-mirrors": [
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
重启docker服务
systemctl daemon-reload
systemctl restart docker
问题:注册失败
网页怎么注册不了,F12查看后发现 502
服务器查看docker容器运行情况,发现elasticsearch异常,安装ragflow后应该自动正常运行
解决方案
我这也不算是解决,只是舍去使用es,把文档引擎切换成为Infinity
停止所有容器运行:
docker compose -f docker-compose.yml down -v
-v 将会删除 docker 容器的 volumes,已有的数据会被清空。
设置 docker/.env 目录中的 DOC_ENGINE 为 infinity.
启动容器:
docker compose -f docker-compose.yml up -d
成功