Docker容器部署签到程序

Share
  • 2022年7月29日

操作前请一定要记得备份数据库

请勿同时运行新旧版签到框架, 或将不同运行中容器的数据库映射为同一文件, 更新后请重启容器或清空浏览器缓存

Docker地址 :
https://hub.docker.com/r/a76yyyy/qiandao

一、Docker Compose部署方式

1、创建并切换至 qiandao 目录

mkdir -p $(pwd)/qiandao/config && cd $(pwd)/qiandao

2、下载 docker-compose.yml

wget https://cdn.jsdelivr.net/gh/qiandao-today/[email protected]/docker-compose.yml

3、根据需求和配置描述修改配置环境变量

vi ./docker-compose.yml

4、执行 Docker Compose 命令

docker-compose up -d

配置描述见下文配置环境变量

如不需要OCR功能或者硬盘空间不大于600M, 请使用 a76yyyy/qiandao:lite-latest 镜像, 该镜像仅去除了OCR相关功能, 其他与主线版本保持一致。

二、Docker部署方式

docker run -d --name qiandao -p 8923:80 -v $(pwd)/qiandao/config:/usr/src/app/config a76yyyy/qiandao

容器内部无法连通外网时尝试该命令:

docker run -d --name qiandao --env PORT=8923 --net=host -v $(pwd)/qiandao/config:/usr/src/app/config a76yyyy/qiandao

请注意使用该命令创建容器后, 请将模板里 http://localhost/ 形式的api请求, 手动改成api:// 或 http://localhost:8923/ 后, 才能正常完成相关API请求。

数据库备份指令 :

docker cp 容器名:/usr/src/app/config/database.db .

数据库恢复指令 :

docker cp database.db 容器名:/usr/src/app/config/

Docker 配置邮箱(强制使用SSL)

docker run -d --name qiandao -p 8923:80 -v $(pwd)/qiandao/config:/usr/src/app/config --env MAIL_SMTP=STMP服务器 --env MAIL_PORT=邮箱服务器端口 --env MAIL_USER=用户名 --env MAIL_PASSWORD=密码  --env DOMAIN=域名 a76yyyy/qiandao

Docker 使用MySQL

docker run -d --name qiandao -p 8923:80 -v $(pwd)/qiandao/config:/usr/src/app/config --ENV DB_TYPE=mysql --ENV JAWSDB_MARIA_URL=mysql://用户名:密码@hostname:port/数据库名 a76yyyy/qiandao

三、Web源码部署方式

1、Version : python3.8

请先cd到框架源码根目录

pip3 install -r requirements.txt

2、可选 redis, Mysql

mysql < qiandao.sql

3、修改相关设置

请先在框架根目录下新建local_config.py, 在linux环境下可执行以下命令

cp config.py local_config.py

修改local_config.py文件的内容不受通过git更新源码的影响

4、启动

python ./run.py

数据不随项目分发, 去 https://github.com/qiandao-today/templates 查看你需要的模板, 点击下载。
在你自己的主页中 「我的模板 +」 点击 + 上传模板。
模板需要发布才会在「公开模板」中展示, 你需要管理员权限在「我的发布请求」中审批通过。

5、设置管理员

python ./chrole.py [email protected] admin

6、qiandao.py-CMD操作

python ./qiandao.py tpl.har [--key=value]* [env.json]

config.py-配置环境变量

详细信息请查阅config.py
旧版local_config.py迁移

更新方法

1、源码部署更新

先cd到源码所在目录, 执行命令后重启进程

wget https://cdn.jsdelivr.net/gh/qiandao-today/[email protected]/update.sh -O ./update.sh && \
sh ./update.sh 

2、Docker容器部署更新

先进入容器后台, 执行命令后重启容器

wget https://cdn.jsdelivr.net/gh/qiandao-today/[email protected]/update.sh -O /usr/src/app/update.sh && \
sh /usr/src/app/update.sh

3、强制同步最新源码

先cd到仓库代码根目录, 执行命令后重启进程

wget https://cdn.jsdelivr.net/gh/qiandao-today/[email protected]/update.sh -O ./update.sh && \
sh ./update.sh -f