Skip to content

Backups & restore

Your greffons keep their data in Docker volumes on the greffer. Back those up, and you can rebuild any greffon from scratch.

On this page
Native backups are comingNot available yet

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 restic
init + back up
export 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_data
Off-site, encrypted, scheduled

restic 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.

restore
restic snapshots
restic restore latest --target / \
  --include /var/lib/docker/volumes/<instance>_db_data
Restore overwrites

Restoring 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.

Edit on GitHubLast updated June 2026
Was this helpful?