How to upgrade and roll back
Back up before you upgrade. A new version may add columns to the database; going back to an old version with Docker doesn't remove them. To be added: whether the old version reads the newer database correctly.
Docker: upgrade
In the alldayrec directory:
git pull
docker compose pull
docker compose up -dgit pullgets the newdocker-compose.ymland.env.example. Compare.env.examplefor new required settings.docker compose pullpulls the new image.docker compose up -dalone doesn't update an image of the same name that is already on the machine.- The upgrade is done when
docker compose logs -fshowsready on 0.0.0.0:8770.
To stay on one version, change the tag of image: as in Pin an image version.
Docker: roll back
Change the tag of
image:indocker-compose.ymlto the earlier version, for exampleghcr.io/suyiiyii/alldayrec:0.1.0, orsha-<7-char commit>for a commit on main.Run:
bashdocker compose up -d
If the data has problems, put back the backup from before the upgrade, as in Back up and restore.
uvx or pip
uvx --env-file .env alldayrec@latest # uvx: start the newest version on PyPI
pip install -U alldayrec # pip: then restart alldayrecFrom source
git pull
(cd web && pnpm install && pnpm build)
cd server && uv syncThen restart the server process.
Instances deployed with deploy.sh
server/deploy.sh backs up each instance's code and every tenant's live.db when it deploys. server/deploy.sh rollback puts back what the last deploy replaced, and drops the database columns that deploy added. See Deploy with deploy.sh (maintainers).