r/
Redirector

Upgrade Guide

The commands below match this install, not a generic example.

Running 3.2.1 • raw markdown • GitHub

Data directory

/app/data

Schema

20250828_enterprise → 20250828_enterprise up-to-date

Backups on disk

0 archive(s)

1 Back up first

One .zip with the database, the configuration and the install state. Safe to take while the app is serving traffic. Then copy the archive off the host.

Log in to back up

2 Upgrade

Detected: Docker

Linux / macOS

docker compose pull
docker compose up -d
docker compose logs -f --tail=50 app

Windows (PowerShell)

docker compose pull
docker compose up -d
docker compose logs -f --tail=50 app

Migrations run automatically on start, and a snapshot is taken first if any are pending. The container refuses to start rather than downgrade data written by a newer version.

3 Verify

curl http://localhost/health
curl http://localhost/api/health/state

4 If it broke, roll back

Restore an archive. Do not run flask db downgrade — it inverts a migration and can drop columns that hold your shortcuts.

docker compose down
docker compose run --rm --no-deps app \
  python -m app.utils.backup restore /app/data/backups/<name>.zip
docker compose up -d

A safety snapshot of the current state is taken first, so the restore is itself reversible.