Backups & restore
Your greffons keep their data in Docker volumes on the greffer. Back those up, and you can rebuild any greffon from scratch.
One-click backups from the dashboard are on the roadmap. Today, back up at the host level with the tools below — restic, borg, or rsync.
What to back up
Greffon stores each greffon’s state in Docker volumes under /var/lib/docker/volumes/ on the greffer. That’s the data that matters — back up the volumes for the greffons you care about. Each greffon’s volumes are namespaced by its instance id, so run docker volume ls on the greffer to find the exact names before you back them up.
Back up with restic
Install restic, initialise a repository, and back up the volumes. Stop a database-backed greffon briefly for a consistent snapshot.
sudo apt install resticexport RESTIC_REPOSITORY=/mnt/backup/greffer
export RESTIC_PASSWORD=<your-password>
restic init
# back up a greffon's volumes (names from `docker volume ls`)
restic backup /var/lib/docker/volumes/<instance>_db_data \
/var/lib/docker/volumes/<instance>_event_datarestic encrypts by default and supports S3-compatible targets (Backblaze B2, Cloudflare R2, Wasabi). Drive it from a systemd timer for daily backups, and keep copies in more than one place.
Restore
Stop the greffon, restore the volume, then start it again.
restic snapshots
restic restore latest --target / \
--include /var/lib/docker/volumes/<instance>_db_dataRestoring replaces the volume’s current contents. Stop the instance first — don’t restore over a running greffon.
Test your backups
A backup you haven’t restored is a guess. At least once: back up a test greffon, destroy it, restore from backup, and confirm it starts with its data intact.