本教程基于maxkb-v2版本进行编写,v1版本暂不保证可用性。
准备材料
- maxkb源码
- ubuntu 24.04
- docker (可以参考我以前的文章安装)
- maxkb离线安装包
所有的操作,都是在ubuntu server 24.04的环境下进行操作,其它系统请根据需要自行调整。
安装docker并且配置
虽然maxkb离线包包含了docker,但是我觉得手动安装的docker的适配性比较强一些。
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
# 安装docker服务,必须先执行上面的命令,且需要一行一行执行。
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
验证docker服务是否成功
执行下面命令,如果没有报错,就是安装成功
sudo docker run hello-world
将docker加入到用户组(可选)
创建 docker 组(如果该组不存在):
sudo groupadd docker
将当前用户添加到 docker 组:
sudo usermod -aG docker $USER
刷新用户组权限:
newgrp docker
验证修改是否生效:
docker run hello-world
安装maxkb离线安装包
因为需要使用maxkb镜像docker包里面的pgsql和redis,但是我又懒得装,就直接使用maxkb离线包的镜像
# 这里参考maxkb官网,直接解压离线包
tar -zxvf maxkb-v2.0.0-x86_64-offline-installer.tar.gz
# 进入目录
cd maxkb-v2.0.0-x86_64-offline-installer
# 开始安装
sudo bash install.sh
关闭maxkb服务容器
我们需要先关闭掉maxkb的后端服务,启动我们自己的后端源码。
查看docker正在运行的容器
docker ps
输出如下:
(maxkb_dev) ubuntu@ubuntu:~/maxkb-v2.0.1-x86_64-offline-installer$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9ff220dc81af registry.fit2cloud.com/maxkb/maxkb:v2.0.1 "bash -c /usr/bin/st…" About a minute ago Up About a minute (healthy) 5432/tcp, 6379/tcp, 0.0.0.0:8080->8080/tcp maxkb
67359e01f81e registry.fit2cloud.com/maxkb/maxkb:v2.0.1 "bash -c /usr/bin/st…" About a minute ago Up About a minute (healthy) 6379/tcp, 127.0.0.1:5432->5432/tcp, 8080/tcp pgsql
b97ac7cf129d registry.fit2cloud.com/maxkb/maxkb:v2.0.1 "bash -c /usr/bin/st…" About a minute ago Up About a minute (healthy) 5432/tcp, 8080/tcp, 127.0.0.1:6379->6379/tcp redis
那么我们就需要停止name为maxkb的镜像。
docker stop 9ff220dc81af
配置源码数据库连接信息
我们需要先切换到maxkb的源码根目录,然后配置好连接信息
cd MaxKB
注意,新版本V2仓库的根目录目前还缺少了一个文件config_example.yml
,我们需要在v1版本的分支复制过来,内容如下:
# 数据库链接信息
DB_NAME: maxkb
DB_HOST: localhost
DB_PORT: 5432
DB_USER: root
DB_PASSWORD: xxxxxxx
DB_ENGINE: django.db.backends.postgresql_psycopg2
DEBUG: false
TIME_ZONE: Asia/Shanghai
一般只需要替换一个密码,然后就可以执行下面命令,把文件复制到指定目录:
sudo cp config_example.yml /opt/maxkb/conf/config.yml
由于还有一些权限文件,所以我们还需要授权一下目录文件,让我们能正常写入logs
# 给予所有用户写入权限(不推荐,但简单快捷)
sudo chmod -R 777 /opt/maxkb/logs
安装conda环境
以下命令,可以从miniconda官网得到,参考地址如下:
https://docs.anaconda.com/miniconda/miniconda-install/
执行下面命令:
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
# 下面代码建议执行,可以让控制台有个前缀提示
~/miniconda3/bin/conda init bash
效果如下:
(base) user@user:~$
创建maxkb专属环境,并安装依赖
跟着步骤执行:
# 创建一个名字为maxkb_dev的环境,且必须为3.11版本
conda create --name maxkb_dev python=3.11
# 切换到刚刚创建的环境
conda activate maxkb_dev
# 安装poetry
pip install poetry
# 使用poetry安装依赖
poetry install
启动后端项目
python main.py start
启动前端项目
源码下的ui
文件夹,就是前端工程源码,按照下面命令执行即可
# 如果不在ui目录下,那么就切换
cd ui/
# 安装依赖
npm i
# 启动项目
npm run dev
注意事项
- 有的可能只是修改前端页面,那么就可以直接使用离线部署,到时候修改接口base_url地址就行。
- 如果是本机直接开发的,就不需要改动前端的接口地址,一定要注意,仔细看报错。