Runs in an unprivileged Ubuntu 22.04 LXC container.

Setup #

Based on 1.

curl -fsSL | sudo -E bash -
apt install nodejs retry

npm i -g backghup

mkdir ~/gh-backups
# Populate with:
# export GITHUB_TOKEN=<token>
nano ~/

# Try it manually once:
source ~/
backghup --extract --out-dir ~/gh-backups

The data is backed up to Backblaze B2 using restic. Follow the steps in Net/Restic. Use the backup script below. Use retry --delay 10 --times 3 -- /root/ as the command in the cronjob.

Backup script ( #


set -e

source /root/
source /root/

/usr/bin/backghup --extract --out-dir /root/gh-backups --exclude Raabeschule --exclude getbookshelf --exclude Keeping-Privacy-Labels-Honest


restic backup "$BACKUPDIR"