Updating
Back up data, record the running image, then pull or rebuild without losing projects.
TraDoc stores projects, outputs and SQLite state under data/ (/app/data in the container). Back that directory up before every update. Never run docker compose down -v or delete ./data as part of a normal update.
Before every update
- Export important work.
- Back up
data/. - Record the current commit or image digest.
- Make sure no project is running.
Record a GHCR image
docker compose images
docker image inspect --format '{{.RepoDigests}}' ghcr.io/lucas-lepajollec/tradoc:latestKeep that digest or the sha-<full-commit> tag. That is the rollback target.
Published image (docker-compose.yml)
docker compose pull
docker compose up -d
docker compose logs --tail 100 tradocConfirm /health, the provider connection, the project list and a small export.
To roll back:
Change the Compose image: line, then recreate:
image: ghcr.io/lucas-lepajollec/tradoc:sha-<full-commit>docker compose up -dDo not recreate a v1.0.0 tag to recover an old instance.
Local build
git pull --ff-only
docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --buildThe default Compose file pulls the published image. The explicit build override replaces it with tradoc:local for a source checkout.
Git checkout
git status --short
git pull --ff-only
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
npm --prefix web ci
npm --prefix web run build
.\.venv\Scripts\python.exe -m unittest discover -s tests -p "test_*.py"Do not run git reset --hard to resolve local changes you do not understand. Back them up or inspect them before updating.
Afterward
Keep the previous backup until validation is complete.