导读

我们提供的 GeekAI 快速部署教程 只针对全新安装的用户。因为那个会清空原有的数据表。但是如果你此前已经安装过 GeekAI ,只是平滑升级该怎么办呢?很简单,只需要两步。

# 1. 升级数据库

如果数据库有升级的话,我们会为每个版本准备一个 update-x.x.x.sql 的数据库文件。

图片加载中...

你只需选择你需要升级的版本执行就好了。

# 非容器部署

首先你需要先安装 MySQL 客户端(如果已安装则跳过此步骤)

sudo apt install mysql-client

连接数据库,默认我们的 MySQL 容器映射的是 3307 端口,所以你需要把 --port 参数传入 3307,如果你自己改了端口,那么就使用你自己改的端口连接:

mysql -h127.0.0.1 --port 3307 -u username -p password #连接数据库
use chatgpt_plus
source update-x.x.x.sql # 这里替换成你要升级的版本

# 容器部署

docker exec -i geekai-mysql sh -c 'exec mysql -uroot -p12345678 -D chatgpt_plus' < update-x.x.x.sql

提示:

请注意,如果你是一次升级几个版本,那么你需要把中间版本的 update SQL 按照顺序依次执行。比如从 3.2.0 升级到 3.2.3,那么你需要执行 update-v3.2.1.sql,update-v3.2.2.sql,update-v3.2.3.sql 这三个 SQL 文件。

# 2. 升级镜像

修改 docker-compose.yaml 文件,修改 geekai-api 和 geekai-web 的版本号

version: '3'
services:
  # mysql
  geekai-mysql:
    image: mysql:8.0.33
    container_name: geekai-mysql
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=12345678
    ports:
      - "3307:3306"
    volumes :
      - ./mysql/conf/my.cnf:/etc/mysql/my.cnf
      - ./mysql/data:/var/lib/mysql
      - ./mysql/logs:/var/log/mysql
      - ./mysql/init.d:/docker-entrypoint-initdb.d/

  # redis
  geekai-redis:
    image: redis:6.0.16
    restart: always
    container_name: geekai-redis
    command: redis-server --requirepass 12345678
    volumes :
      - ./redis/data:/data
    ports:
      - "6380:6379"

  # 后端 API 程序
  geekai-api:
    image: registry.cn-shenzhen.aliyuncs.com/geekmaster/geekai-api:v4.0.9-amd64 #这里修改版本号
    container_name: geekai-api
    restart: always
    depends_on:
      - geekai-mysql
      - geekai-redis
    environment:
      - DEBUG=false
      - LOG_LEVEL=info
      - CONFIG_FILE=config.toml
    ports:
      - "5678:5678"
      - "9999:9999"
    volumes:
      - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
      - ./conf/config.toml:/var/www/app/config.toml
      - ./logs:/var/www/app/logs
      - ./static:/var/www/app/static

  # 前端应用
  geekai-web:
    image: registry.cn-shenzhen.aliyuncs.com/geekmaster/geekai-web:v4.0.9-amd64  #这里修改版本号
    container_name: geekai-web
    restart: always
    depends_on:
      - geekai-api
    ports:
      - "8080:8080"
    volumes:
      - ./logs/nginx:/var/log/nginx
      - ./conf/nginx/conf.d:/etc/nginx/conf.d
      - ./conf/nginx/nginx.conf:/etc/nginx/nginx.conf
      - ./ssl:/etc/nginx/ssl

# 3. 添加新增配置

如果本次升级有新增的配置,你还需要修改 conf/config.toml 文件。你可以通过对比 deploy/conf/config.toml 这个默认的配置文件来确定是否有新增的配置选项。

# 4. 重启服务

# 停止服务
docker-compose down
# 启动服务
docker-compose up -d
上次更新: 2025/1/15 16:31:06