Backup and recovery
UniHomelabDash stores services, settings, users, and provider configuration in
SQLite. Docker Compose keeps the database in the unihomelabdash-data volume at
/app/data/unihomelabdash.sqlite.
Back up the Compose volume
Section titled “Back up the Compose volume”Stop the application briefly for a consistent file-level copy:
docker compose stop unihomelabdashdocker run --rm \ -v unihomelabdash-data:/source:ro \ -v "$PWD":/backup \ alpine \ cp /source/unihomelabdash.sqlite /backup/unihomelabdash.sqlitedocker compose start unihomelabdashStore the backup alongside the matching SESSION_SECRET in a secure location.
Encrypted provider credentials cannot be recovered with a different secret.
Restore
Section titled “Restore”- Stop the application.
- Preserve the current database before replacing it.
- Copy the reviewed backup into the named volume as
/app/data/unihomelabdash.sqlite. - Restore the matching
SESSION_SECRET. - Start the application and test sign-in and each provider.
Do not restore an untrusted database file.
Reset the administrator password
Section titled “Reset the administrator password”For Docker Compose:
RESET_ADMIN_PASSWORD='choose-a-new-strong-password' \ docker compose exec unihomelabdash \ node scripts/reset-admin.mjs --username admin --confirmFor local development:
npm run reset-admin -- --username admin --confirmThe script requires --confirm, never prints the password, updates the single
administrator (or creates it if missing), and marks setup complete.