Skip to content

Upgrades and Backups

Iain Smith edited this page Sep 2, 2026 · 2 revisions

Upgrades and Backups

Upgrading

docker compose pull
docker compose up -d --force-recreate

Migrations run automatically: the web container runs alembic upgrade head on start before serving, and the worker waits for it. --force-recreate makes the running containers actually move onto the freshly pulled image — a bare up -d sometimes reports "Running" and does nothing.

An open browser tab shows a "new version available — Reload" prompt rather than reloading under you.

Pin a version

TVTIMES_IMAGE=issinoho1969/tvtimes:0.1.53

in .env to upgrade deliberately instead of tracking :latest.

No leading v. The git tag is v0.1.53; the image tag it publishes is 0.1.53. issinoho1969/tvtimes:v0.1.53 doesn't exist and a pull fails with "manifest unknown".

A major.minor tag (0.1) tracks the newest patch on that line. Releases and their notes: https://github.com/issinoho/tvtimes/releases.

What to back up

Three named volumes hold everything:

Volume Contents If lost
tvtimes_pgdata Postgres — accounts, sources, guide data, watchlist everything is gone
tvtimes_secrets the generated signing / encryption keys every stored credential + TOTP secret is unreadable, all sessions drop
tvtimes_redisdata queue + caches nothing — safe to lose

Back up tvtimes_secrets and tvtimes_pgdata. Redis is disposable.

Postgres dump

docker compose exec db pg_dump -U tvtimes tvtimes | gzip > tvtimes-$(date +%F).sql.gz

Restore

Restore tvtimes_secrets first (or supply the same TVTIMES_ENCRYPTION_KEY / TVTIMES_JWT_PRIVATE_KEY_PEM via the environment), then load the Postgres dump into a fresh db container before starting tvtimes.

Clone this wiki locally