概述
Ragflow本身并不包含用户管理的功能,我在系列前文中,写过一个脚本,用来批量插入用户,并自动加入团队,配置默认模型设置。然而,此方式需要用户安装对应环境,对普通用户并不友好。
因此我开发了一个可视化的管理系统,用来方便对用户信息管理。
1. 技术栈说明
前端:采用Vue3,套用v3-admin-vite
模板。
后端:使用Flask进行构建。
2. 功能说明
管理界面效果图如下:
主要功能:
-
管理员登录
初始默认用户名为Admin
,密码为123454678
-
新建用户
新建用户,可设置用户名、登陆邮箱、登录密码,用户会自动加入创建时间最早
的用户团队,并默认采用和其一致的模型配置 -
用户查询
可根据用户名或邮箱查询显示用户信息 -
用户修改
可直接修改用户名,不影响用户登录,只是方便标识管理 -
用户删除/多选批量删除
删除用户后,会自动将其模型配置/管理信息同时一并删除
3. 使用方式
先下载项目源码:
仓库地址:https://github.com/zstar1003/ragflow-plus
3.1 本地运行方式
3.1.1 运行后端
1.打开后端程序management/server
,安装依赖
pip install -r requirements.txt
2.启动后端
python app.py
3.1.2 运行前端
1.打开前端程序management\web
,安装依赖
pnpm i
2.启动前端程序
pnpm dev
浏览器访问启动后的地址,即可进入系统。
3.2 Docker运行方式
为了方便部署,我已将该系统打包成Docker镜像,可通过如下方式拉取运行:
docker compose -f management/docker-compose.yml up -d
此时,访问8080端口即可进入管理系统界面。
如果是部署在linux服务器,无法直接查看web界面,可进一步配置ssh端口转发。
以Termius为例,
配置两个端口转发:
-
将本地1003端口转发到服务端8080端口
-
将本地5000端口转发到服务端5000端口
访问服务器ip:1003
即可进入后台管理界面。
4. Docker镜像构建方法
如对该系统进一步开发,可以参考如下方式构建镜像,以便共享。
1.修改文件management/Dockerfile
和management\docker-compose.yml
内容
docker-compose.yml
内容示例如下:
services:frontend:image: ragflowplus-management-web:v0.1.0build:context: .dockerfile: Dockerfiletarget: frontendports:- "8080:80"depends_on:- backendenvironment:- API_URL=http://backend:5000backend:image: ragflowplus-management-server:v0.1.0build:context: .dockerfile: Dockerfiletarget: backendports:- "5000:5000"environment:- FLASK_ENV=development- CORS_ALLOWED_ORIGINS=http://localhost:8080,http://frontendextra_hosts:- "host.docker.internal:host-gateway"
2.使用docker compose
构建镜像
cd management
docker-compose build
3.使用docker compose
运行镜像
docker-compose up -d
4.测试通过,添加镜像标签
docker tag ragflowplus-management-web:v0.1.0 your-username/ragflowplus-management-web:v0.1.0
docker tag ragflowplus-management-server:v0.1.0 your-username/ragflowplus-management-server:v0.1.0
5.推送镜像到仓库
docker push your-username/ragflowplus-management-web:v0.1.0
docker push your-username/ragflowplus-management-server:v0.1.0
6.修改docker-compose.yml
文件以使用远程镜像
frontend:image: your-username/ragflowplus-management-web:v0.1.0
backend:image: your-username/ragflowplus-management-server:v0.1.0