Restore and Migrate
The first setup screen offers three paths:
- Set Up From Scratch: save new Stackarr paths, services, credentials, automation, and presets.
- Restore From Backup: upload a Stackarr backup archive and queue a guarded restore.
- Migrate Current Stack: scan for supported existing services and copy their config/database state into Stackarr.
Restore From Backup
Stackarr scheduled backups are encrypted by default and written as .tar.gz.enc archives. Export the recovery key from System → Backup after the first backup and store it separately. Upload that key file with an encrypted archive. Without it, the archive cannot be decrypted and settings and credentials must be entered again. Legacy .tar.gz, .tgz, and .zip archives remain supported.
Onboarding restore queues:
stackarr backup restore /path/to/archive.tar.gz.enc \
--backup-key-file /secure/path/backup-encryption.key \
--yes --force-config --mark-onboarding-completeThe app adds explicit restore or skip choices for shared Postgres, existing Plex host data, and native Jellyfin data based on the selected checkboxes.
Use shared Postgres restore when the archive contains database/*.dump and the new install should replace matching Stackarr-managed databases. Leave existing Plex host options off unless restoring onto the same host or a carefully prepared replacement host.
The portable runtime snapshot is restored before shared Postgres. This supplies the credentials needed to start PostgreSQL and restore the database that contains the authoritative Stackarr settings. Generated Compose environment state is rebuilt afterward.
Migrate Current Stack
Migration has a dry-run plan first:
stackarr migrate planTo point Stackarr at a conventional folder layout instead of Docker discovery:
stackarr migrate plan --source-root /absolute/path/to/existing-stackConfirmed migration copies supported service config directories into Stackarr and marks onboarding complete:
stackarr migrate run --yesBy default, Docker-discovered source containers are stopped while copying and restarted afterward. This keeps SQLite-backed apps such as Radarr, Sonarr, Lidarr, Prowlarr, and Bazarr from being copied mid-write. Use --no-stop-source only after stopping services yourself or accepting the risk of inconsistent live database files.
Supported migration targets include Radarr, Radarr 4K, Sonarr, Sonarr 4K, Prowlarr, Lidarr, Bazarr, Seerr/Overseerr/Jellyseerr, Pulsarr, Transmission, qBittorrent, Plex, Jellyfin, TinyMediaManager, Recyclarr, Tidarr, and BookOrbit.
Moving to another Docker host
Docker-managed service config is portable when media and download paths are equivalent or updated after restore.
Existing media servers are different. Host certificates, hostnames, hardware devices, preferences, and absolute paths remain tied to the original machine. Restore those pieces only to a compatible host layout, or reconnect the server manually after Stackarr is running.