Maxkb二次开发-启动项目

发布于 2025年07月28日

本教程基于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地址就行。
  • 如果是本机直接开发的,就不需要改动前端的接口地址,一定要注意,仔细看报错。


评论