Skip to main content

Data, backups and upgrades

Source install​

Where the data is​

SystemDefault data directory
Windows%LOCALAPPDATA%\SoduWork\source-service
macOS~/Library/Application Support/SoduWork/source-service
Linux$XDG_DATA_HOME/soduwork/source-service, or ~/.local/share/soduwork/source-service

Use --data-dir to choose another directory (Run from source).

ItemContents
soduwork.dbUsers, issues, tasks, settings and other records
local-service.jsonThe administrator account name and a random service signing key. Keep it private. It does not contain the administrator password. Deleting or replacing the key signs everyone out
library/, application/hub-backend/uploads/Library items and task attachments
runtime/, home/Runtime folders and agent configuration for this instance
venv/, application/Dependencies and a copy of the source used to run this instance. Do not edit code here
startup.logInstall, build, migration and server logs

Back up​

Stop the Hub (​Ctrl+C in the launcher window), then copy the whole data directory.

Upgrade​

  1. Stop the Hub and back up the data directory.
  2. Update the source, for example git pull.
  3. Run the same start command as before.

The launcher updates its own copy of the code and keeps the data.

Roll back​

Restore both the source version you used before and the data backup made with it. Downgrading the source alone doesn't work, because the newer version may already have migrated the database.

Docker install​

Where the data is​

  • Private configuration: deployment.json in the self-host directory (Deploy with Docker).
  • Database and files: Docker named volumes for this instance.

Back up and upgrade​

  1. Stop dispatching new work and wait for running tasks to finish.
  2. Back up the database and all file volumes from the same point in time. Back up deployment.json and note the source version separately.
  3. Run python ops/self-host/deploy.py stop.
  4. Switch to the new source version.
  5. Run python ops/self-host/deploy.py up.

The single instance runs versioned database migrations automatically. If a migration fails, the Hub does not report healthy. Do not run more than one migration against the same database at the same time.

The repository includes hub-backend/full_backup.py for full encrypted backups and hub-backend/db_admin.py for database checks and restores. Practice a restore before you rely on a backup.

Roll back​

Restore the matching source version, database, file volumes and keys together. Do not connect an older version to a database that a newer version has migrated.

Upgrade order​

When a release includes both, upgrade the Hub first, then the clients. Upgrading a client keeps its server address, device identity, sign-in and local data.

harness harnesses runtime runtimes 底座
Edit this page