sally docs
This page is rendered from the canonical GitHub docs. Edit on GitHub.
sally_ backup / recovery basics
What gets backed up
- PostgreSQL database (
database.dump) - Uploaded files from
apps/api/uploads(uploads.tar.gz) - Backup manifest (
manifest.txt)
Backup location on VPS
- Root:
/var/backups/sally - Latest symlink:
/var/backups/sally/latest
Manual backup
sudo /opt/sally/ops/backup.sh
Restore procedure
1. Stop app services
sudo systemctl stop sally-web
sudo systemctl stop sally-api
2. Restore database
export DATABASE_URL=$(grep '^DATABASE_URL=' /opt/sally/apps/api/.env | cut -d= -f2-)
pg_restore --clean --if-exists --no-owner --no-privileges --dbname="$DATABASE_URL" /var/backups/sally/latest/database.dump
3. Restore uploads
mkdir -p /opt/sally/apps/api/uploads
rm -rf /opt/sally/apps/api/uploads/*
tar -C /opt/sally/apps/api/uploads -xzf /var/backups/sally/latest/uploads.tar.gz
4. Start services
sudo systemctl start sally-api
sudo systemctl start sally-web
5. Verify
curl -sS https://projects.kraftfabrik.com/api/health
Notes
- The backup script keeps backups for 14 days by default.
- The app should be considered recoverable only if both the DB dump and uploads archive are present.
- After any restore, verify login, project list, task list, uploads, and password-reset mail flow.