Backups & Updates
All of your Lyftr data — workouts, programs, weight, nutrition — lives in one SQLite file. Backing up is copying that file. Updating is pulling the latest image. Your data survives both.
Where your data lives
Section titled “Where your data lives”The database is stored on a Docker volume and mounted at ./data/lyftr.db next to your
docker-compose.yml. That single file is your instance.
Back up
Section titled “Back up”Copy the database file. For a personal instance with little write traffic, a live copy is fine:
cp ./data/lyftr.db ./data/lyftr.db.backupFor a guaranteed-consistent copy (e.g. right before an update), stop the stack first, then copy:
docker compose downcp ./data/lyftr.db ./data/lyftr.db.backupdocker compose up -dAutomate it (cron)
Section titled “Automate it (cron)”A nightly backup keeping the last 7 days:
0 3 * * * cp /path/to/lyftr/data/lyftr.db /path/to/backups/lyftr-$(date +\%F).db && \ find /path/to/backups -name 'lyftr-*.db' -mtime +7 -deleteRestore
Section titled “Restore”Stop the stack, drop the backup in place, start again:
docker compose downcp ./data/lyftr.db.backup ./data/lyftr.dbdocker compose up -dUpdate to the latest version
Section titled “Update to the latest version”docker compose pulldocker compose up -dYour data volume is preserved across updates.