Browse documentation
DocsRun your server

Backups & restore

Protect the database, encryption key, and media separately.

Create and verify a backup

  1. Open Manage Server → Maintenance → Backups.
  2. Choose Back up now, then Verify.
  3. Copy the database backup and its manifest off the host.
  4. Keep a protected copy of app-data/totp-key and back up managed media separately.

Automatic daily backups retain the newest seven; pre-upgrade backups retain the newest three. A database backup is not a media backup.

Backup checklist

KeepWhy
app-data/backups/Consistent database snapshots and verification manifests.
app-data/totp-keyAuthenticator secrets and encrypted personal playback sessions.
app-data/library/, app-data/books/, managed rootsThe actual media files.
app-data/music-file-backups/Original files retained by optional music tag writeback.
Compose files and protected configurationMount paths, environment settings, and connection details.

Restore offline

Use the exact backup filename, with its matching manifest in the backups directory. Stop the server before restoring.

shell
docker compose down
docker compose run --rm --no-deps lumina python -m app.restore /app/backend/.data/backups/lumina-<timestamp>-manual.db
docker compose up -d --no-build lumina

The restore tool verifies integrity, revokes sessions and unused invitation/reset links, and retains the previous database as app.db.pre-restore-<timestamp>.

After restoring

  • Mount media at the same container paths.
  • Restore the encryption key before relying on two-step verification or personal YouTube sessions.
  • Sign in again; re-enter omitted AI, metadata, and integration credentials and test connections.
  • Verify playback and household access before reopening remote access.
Applies to Lumina 0.4.0. Source: operator guide

Find your next step.

Type to search all documentation.