qiandao是基于HAR的自动签到框架,官方提供的docker镜像是x86的,树莓派用不了。所以我build了个arm32v7的镜像,除了树莓派2,3外,亦适用于其他32位的ARM平台。

注:树莓派3B之后用BCM2837的板子实际上是64位arm64v8的,但Raspbian为了兼容性问题依旧是32位,故编译环境依旧为32位。
关于树莓派的硬件改进历史可以参考此处。通过外观基本就能判断版本,如果仍不确定可以通过cat /sys/firmware/devicetree/base/model命令查看型号。

安装docker

安装并启动docker,测试无误后设为自启动。

1
2
3
curl -sSL https://get.daocloud.io/docker | sh
sudo service docker start
sudo systemctl enable docker

将当前用户加入docker组并重新登录,这样就不用sudo来跑docker了。

1
2
sudo usermod -aG docker pi
su - pi

部署qiandao

下载qiandao的镜像

1
docker pull mjysci/qiandao:arm32v7

创建容器

1
2
mkdir -p /home/pi/qiandao/volume
docker run -d -p 80:80 --name qiandao --restart=always -v /home/pi/qiandao/volume:/usr/src/app/volume mjysci/qiandao:arm32v7

配置站点管理员

浏览器访问树莓派ip地址并注册一个账户。
进入容器管理。

1
docker exec -it qiandao /bin/bash

设置站点管理员。

1
python ./chrole.py <刚才注册的账户邮箱> admin

退出容器管理。

1
exit

备份与数据迁移

备份

1
docker cp qiandao:/usr/src/app/database.db ~/backup/qiandao/database.db

恢复数据

1
2
docker cp ~/backup/qiandao/database.db qiandao:/usr/src/app/database.db
docker container restart qiandao

参考资料

Docker部署签到站教程