如何升级与回滚
升级前先备份。新版本可能给数据库加列;用 Docker 回到旧版本时不会撤掉这些列,旧版本能否正常读新的数据库:待补充。
Docker:升级
在 alldayrec 目录里:
bash
git pull
docker compose pull
docker compose up -dgit pull取得新的docker-compose.yml和.env.example。对比一下.env.example有没有新的必填项。docker compose pull拉取新镜像。只运行docker compose up -d不会更新本机已有的同名镜像。- 用
docker compose logs -f看到ready on 0.0.0.0:8770就升级完了。
想停在某个版本,按固定镜像版本改 image: 的标签。
Docker:回滚
把
docker-compose.yml里image:的标签改成之前的版本,比如ghcr.io/suyiiyii/alldayrec:0.1.0,或者 main 上某次提交的sha-<7 位提交号>。运行:
bashdocker compose up -d
数据有问题时,按如何备份与恢复换回升级前的备份。
uvx 或 pip
bash
uvx --env-file .env alldayrec@latest # uvx:用 PyPI 上的最新版启动
pip install -U alldayrec # pip:升级后重启 alldayrec从源码运行
bash
git pull
(cd web && pnpm install && pnpm build)
cd server && uv sync然后重启服务器进程。
用 deploy.sh 部署的实例
server/deploy.sh 部署时会备份每个实例的代码和每个租户的 live.db;server/deploy.sh rollback 把上一次部署替换掉的东西放回去,包括删掉那次部署给数据库加的列。见如何用 deploy.sh 部署。