导读
我们提供的 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