Backups and restore
Every night at INGLE_BACKUP_AT (03:00 by default, household time) Ingle writes ingle-YYYYMMDD-HHMMSS.tar.gz into the backup folder, and keeps the newest INGLE_BACKUP_KEEP (14). Each one holds:
ingle.db: a consistent snapshot of the database, taken while Ingle keeps running.photos/andavatars/: everything uploaded in admin.
The photos folder isn’t included: it’s your own files.
Backups from before the rename (domus-….tar.gz) still count towards the number kept, and restore the same way. They hold a domus.db, which Ingle opens when there’s no ingle.db.
With Docker Compose
Section titled “With Docker Compose”The backups go to BACKUP_PATH on the host (./backups next to compose.yaml by default).
Take one now, for example before an upgrade:
docker compose exec ingle /ingle backupTo restore, pick a backup, then:
docker compose stop ingledocker run --rm -v domus_domus-data:/data -v "$PWD/backups:/backups:ro" alpine sh -c ' rm -rf /data/ingle.db* /data/domus.db* /data/photos /data/avatars /data/photo-cache && tar -xzf /backups/ingle-20261104-030000.tar.gz -C /data && chown -R 65532:65532 /data'docker compose start ingleThe -wal and -shm files belong to the old database, so they have to go too. The data volume is called domus_domus-data for every install, from before Ingle was renamed, so upgrades keep their data.
Without Docker
Section titled “Without Docker”The backups go to /var/lib/ingle/backups.
Take one now, with the service’s own user and settings:
sudo systemctl start ingle-backupjournalctl -u ingle-backup -n 3 # shows the file it wroteTo restore, pick a backup, then:
sudo systemctl stop inglesudo rm -rf /var/lib/ingle/ingle.db* /var/lib/ingle/photos /var/lib/ingle/avatars /var/lib/ingle/photo-cachesudo tar -xzf /var/lib/ingle/backups/ingle-20261104-030000.tar.gz -C /var/lib/inglesudo chown -R ingle:ingle /var/lib/inglesudo systemctl start ingleTo keep backups somewhere else, such as /mnt/backup/ingle:
-
sudo mkdir -p /mnt/backup/ingle && sudo chown ingle:ingle /mnt/backup/ingle -
Set
INGLE_BACKUP_DIR=/mnt/backup/inglein/etc/ingle/ingle.env. -
Let the service write there:
sudo systemctl edit ingleandsudo systemctl edit ingle-backup, adding to each:[Service]ReadWritePaths=/mnt/backup/ingle -
sudo systemctl restart ingle
Running the binary yourself
Section titled “Running the binary yourself”ingle backup reads the same settings as the server (INGLE_DB_PATH, INGLE_BACKUP_DIR, INGLE_BACKUP_KEEP), writes one backup and prints its path. Run it as the user that owns the data, so the files it creates stay readable by the server.