Upgrade Tarnished
Before upgrading
Read the release notes and make a complete backup of the database, uploads, signing secret and deployment configuration. Plan for a short downtime.
For 0.2.0, existing accounts remain usable. The session upgrade invalidates old browser tokens, so users must sign in again. Public registration is disabled; use Admin to create accounts. Existing accounts do not need owner setup again.
Docker Compose
Update your Compose file to the target version if its configuration has changed.
Preserve local overrides, the database password, URL and port binding. Set the
image in .env:
TARNISHED_IMAGE=ghcr.io/markoonakic/tarnished:0.3.13
A shell TARNISHED_IMAGE overrides .env. From the install directory:
docker compose stop app
docker compose pull
docker compose up -d
docker compose ps
docker compose logs --tail=100 app
Helm
Keep your existing values, PVC and Secrets:
helm upgrade tarnished oci://ghcr.io/markoonakic/charts/tarnished \
--version 0.3.13 --namespace tarnished --values values-production.yaml
kubectl rollout status -n tarnished deploy/tarnished
Check any image.tag override so the application matches the chart version.
Verify or recover
Startup applies migrations. Check /health, sign in, read existing applications
and open uploaded files. Inspect logs if a migration fails; do not remove
migration records or generate a new signing secret to force startup.
For rollback, restore the matching previous database, uploads, secrets and configuration with the previous image/chart. Reverting only the image can leave an older application against a newer schema. Keep the failed state separately until recovery is verified.