Updates
Update when you choose. The installer backs up your database first.
Update Supaffi
Updating is the install command, run from the install folder:
cd /opt/supaffi && curl -fsSL https://raw.githubusercontent.com/ugolbck/supaffi/main/install.sh | sudo bashIt moves you to the newest release. Settings and secrets are kept. On the way, it:
Checks for local edits
If you changed files in/opt/supaffithat the update would overwrite, it lists them and stops. Your.envand files you added are never touched.Backs up the database
A compressed dump goes to/opt/supaffi/backups. If the backup fails, the update stops and your install keeps running the version it was.Moves to the new release
It checks out the release tag, pulls the new images and restarts the stack.Runs migrations
Database migrations run when the app starts. If one fails, the app does not start rather than run against a schema it does not match.
What changed in each release is in the changelog.
If the update stops, the message says why:
- The database backup failed. Check the database with
cd /opt/supaffi && docker compose logs db. To update without a backup, addSUPAFFI_SKIP_BACKUP=yes. - Local changes. Keep a copy of the listed files, then add
SUPAFFI_DISCARD_LOCAL_CHANGES=yes. - The newest release is older than yours. This usually means a release was withdrawn. Nothing was changed. Check the releases.
Update notices
Supaffi never updates itself: the dashboard has no access to Docker on your server. When a release is out, it tells you instead.
- A dot appears on your account avatar, red for a security release and blue otherwise. A release is a security release when its notes have a Security section.
- The account menu shows Update available or Security update with the version. It opens a dialog with the command to run, pinned to that release.
- Account, section This instance, shows your version and whether a newer one is out.
Supaffi 0.4.0 is out
You are on 0.3.4. Nothing breaks if you wait.
Run this on your server. It backs up your database first and stops if that fails.
cd /opt/supaffi && curl -fsSL https://raw.githubusercontent.com/ugolbck/supaffi/v0.4.0/install.sh | sudo bash
To stop the check, see Update check. Only the latest release gets security fixes.
Install a specific version
Pass SUPAFFI_VERSION to move to an exact release instead of the newest:
cd /opt/supaffi && curl -fsSL https://raw.githubusercontent.com/ugolbck/supaffi/main/install.sh | sudo SUPAFFI_VERSION=0.4.0 bashTo check the version you run, open the account menu: its footer shows Supaffi 0.4.0, for example.
Downgrade
Downgrading moves the code back, not the database. Migrations only run forwards, so the installer refuses unless you ask:
Refusing to move from 0.4.0 back to 0.3.4.
Migrations only run forwards, so the older release would start
against the newer schema. Restore a backup from /opt/supaffi/backups
taken while 0.3.4 was running, or say you understand:
SUPAFFI_ALLOW_DOWNGRADE=yescd /opt/supaffi && sudo SUPAFFI_VERSION=0.1.0 SUPAFFI_ALLOW_DOWNGRADE=yes bash install.shThe installer backs up the current database first. If the release you are leaving changed the schema, then restore a dump taken while the older version was running, as described in Restore a backup.
Verify an image
Every published image carries an attestation from the repository's release workflow. To confirm an image was built there, run this with the GitHub CLI, using your version:
gh attestation verify oci://ghcr.io/ugolbck/supaffi:0.4.0 --repo ugolbck/supaffiIf verification fails, the image did not come from the release workflow. Do not run it, and report it as described in Security.