Skip to content

Backup Best Practices

Set up a cron job for regular backups:

Terminal window
0 2 * * * auberge backup create --host my-vps --apps baikal,freshrss,navidrome

Keep multiple timestamped backups and periodically clean old ones:

Terminal window
# Keep last 7 days, delete older
find ~/.local/share/auberge/backups/my-vps/*/20* -type d -mtime +7 -exec rm -rf {} \;

Periodically test restores to verify backups are working:

Terminal window
auberge backup restore latest --host my-vps --apps baikal --dry-run

Always create a backup before running Ansible playbooks or system updates:

Terminal window
auberge backup create --host my-vps
auberge ansible run --host my-vps --tags baikal

By default, Navidrome backups exclude music files to save space. Only include music when:

  • Migrating to a new VPS
  • Your music library changed significantly
  • You don’t have another backup of your music
Terminal window
# Normal backup (excludes music)
auberge backup create --host my-vps
# Full backup including music
auberge backup create --host my-vps --include-music

Restore has no matching flag: a backup that holds music restores it, one that doesn’t can’t. rsync --delete applies, so restoring a music-bearing backup over a library that has grown since removes the newer files — check --dry-run first, which lists the paths per app.

The default backup location is ~/.local/share/auberge/backups/. Consider:

  • Syncing to external drive
  • Cloud storage (encrypted)
  • Network-attached storage
Terminal window
# Custom backup destination
auberge backup create --host my-vps --dest /mnt/external/backups

Ensure your SSH keys are backed up separately. Auberge uses:

  • ~/.config/auberge/hosts.toml - Host configuration
  • ~/.ssh/identities/ - SSH keys

Back up these directories along with application data.