Great question — and yes, that’s exactly where the integrated BorgBackup in Nextcloud AIO really shines, especially if you want a built-in backup solution that handles everything for you.
What BorgBackup in AIO handles for you:
When you trigger a backup via the AIO interface (or via backup.sh
), it takes care of:
- a consistent PostgreSQL dump,
- Redis cache and active application state,
- all Nextcloud data, config, and volumes.
This happens in a coordinated and supported way, producing Borg archives ready for restore, with minimal user intervention.
My experience with rsync-based Docker volume backup
When I migrated my full Nextcloud AIO instance to a new disk, I used rsync
to copy all Docker volumes — and it worked perfectly. Since PostgreSQL and other service data live inside these volumes, there was no need for a separate database dump.
Important: The target filesystem must support full ownership and permission metadata (e.g., ext4
, xfs
, etc.), otherwise restoring ownership like www-data
may fail.
I described the migration approach here:
Backup files on Nextcloud managed object storage to local storage
And here’s my complete migration guide (in Slovak):
Migrácia Proxmox VM na nový disk
Even though it’s written in Slovak, you can easily translate it using AI tools like DeepL or ChatGPT.
It’s a global migration guide for multiple Docker containers and volumes — so it’s not only useful for Nextcloud AIO, but also for backing up or migrating other containers that may be running alongside it.
Although I originally used this method for migration, it can be partially adapted for regular backups as well — especially if you want more transparency or full control over what’s being copied and when.
How I currently handle backups
Currently, my Nextcloud AIO runs inside a Proxmox virtual machine, and I handle backups at the VM level using Proxmox’s built-in snapshot and backup tools (vzdump
).
This captures the entire system — OS, Docker, data — in one consistent backup, and it has worked reliably for me.
Summary:
BorgBackup: great built-in solution for most use cases.
Rsync + Docker volume backup: worked perfectly for me during migration, and can be reused as a backup method.
Proxmox-level VM backup: my current approach for full instance backup and disaster recovery.
Multi-Docker support: the rsync + volume backup strategy also works well for other containers running alongside Nextcloud AIO.