从头开始在docker中对MaxKB工程源码部署笔记
本文详细介绍了如何基于Ubuntu 22.04镜像使用Docker部署MaxKB企业级AI助手的过程。首先,通过docker run命令创建并启动容器,然后从GitHub克隆MaxKB项目。接着,配置Python 3.11环境并安装必要的依赖,包括使用pip安装poetry包管理工具。随后,解决运行过程中遇到的路径和PostgreSQL数据库配置问题,安装并配置pgvector扩展以支持向量数据类

本文章采用的docker基于Ubuntu:22.04镜像进行部署
参考docker创建实例如下:
docker run -itd --name MaxKB -p 10001-10010:10001-10010 -p 10000:22 ubuntu:22.04
- 拉取MaxKB在github上的工程
git clone https://github.com/1Panel-dev/MaxKB.git
![]()
- MaxKB环境搭建
从pyproject.toml配置文件可知我们需要python3.11的环境依赖。

这时候在我们的docker中去安装python3.11的环境依赖,这里方法不限,可以使用conda或者其他的环境隔离方式做,我这里就不去考虑多环境的情况,直接用apt进行下载,各位可以根据自己实际情况去调整。(其实这步更多就是为了去下载poetry去下环境依赖。也可以根据这个文章去直接安装,我这里偷个懒,用python3.11是怕有什么冲突,这个多少,问题都不大)
sudo apt install python3.11

然后安装pip
sudo apt install pip

之后我们使用pip去安装poetry包管理工具

pip install poetry -i https://pypi.tuna.tsinghua.edu.cn/simple

接着使用
poetry install
来安装整个pyproject.toml中python的环境依赖。如果觉得依赖下载的慢可以换源。
参考换源方法:
把pyproject.toml中使用的primary源内容改为国内源,我这里用的是清华源

然后使用
eval "$(poetry env activate)"
进入环境

- 运行MaxKB源码后端程序
运行工程目录下main.py脚本
python main.py start
发现出现报错:

这个时候实际上可以看到这个路径是写死的,那我们去解决这个问题就有两种方式一种改源码,一种就是跟着源码去创建/opt/maxkb/conf的目录
我是直接改成工程目录/root/MaxKB即可
然后就会出现第二个报错:

这个报错是由于PostgreSQL 数据库对应的用户和数据库没搭建
所以先用apt指令下载PostgreSQL
sudo apt install postgresql

下载完后开启postgresql的服务
service postgresql start
启动服务后用
psql -U postgres -d postgres
进入该数据库的超级用户

根据之前/root/MaxKB/config.yml创建对应账号密码数据库
创建数据库

CREATE DATABASE maxkb;
创建用户设置密码
![]()
CREATE USER root WITH PASSWORD 'xxxxxxx';
对maxkb数据库赋权

GRANT ALL PRIVILEGES ON DATABASE maxkb TO root;
然后再次运行
python main.py start
出现新报错如下:

这个是是因为 PostgreSQL 没有安装 pgvector 扩展,而该扩展提供了 vector 数据类型。
因为pgvector 扩展没有包含在默认的 Ubuntu/Debian 软件源中,所以要加入对应的源
参考文章如下:
pgvector环境搭建 - Ubuntu_在pg14安装pgvector的步骤-CSDN博客
创建apt仓库文件
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
导入仓库签名
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
更新仓库列表
sudo apt update
安装pgvector
sudo apt -y install postgresql-14-pgvector
然后进入
psql -U postgres -d postgres
选中maxkb数据库
\c maxkb
启用对应vector 扩展
CREATE EXTENSION IF NOT EXISTS vector;
最后用\dx进行验证

最后让我们重新跑一下后端程序
python main.py start

成功运行
- 运行MaxKB源码前端程序
先进入前端目录ui
![]()
使用apt install npm这里要注意要装nodejs18版本,可以用node -v查看版本

后利用
npm install
安装各项依赖


这里注意下我用的vite是4.15.14
npm run build
进行编译
最后
npm run dev

成功运行
然后我们这边要将端口改为我们自己的端口,我这边是10001
vim env/.env

改为自己的端口即可
然后重新运行

改动成功
- 测试
在网页输入对应ip:10001(映射的端口)即可进入

输入账号密码
初始默认为
账号:admin
密码:MaxKB@123..

登录成功,接下来可以开始大模型的编排应用开发了。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)