Wiki
Self-hosting

Updates

Pull, rebuild, and apply database migrations safely.

The easy path

Run the installer again and choose "Updaten". It runs git pull --ff-only, rebuilds, and restarts — with the TLS overlay when the install is HTTPS.

Manual equivalent

git pull --ff-only
docker compose up -d --build                      # local
# or, with the prod overlay:
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --build

The one-shot migrate service applies any new database migrations before the app services restart.

How migrations work

Migrations are versioned SQL files (packages/db/src/migrations) tracked in the database. Re-running is a no-op, and destructive schema diffs can no longer be auto-applied — the previous drizzle-kit push --force flow could silently drop data, and that is gone.

Upgrading a pre-migration install

If your install predates the migration switch, the schema was applied with db push and the migrations table doesn't exist yet — so the migrate service would try to re-create existing tables.

Take a backup, recreate the database volume (docker compose down -v), start fresh, and restore your data — or baseline manually before updating.

On this page