Configure, services, backups, upgrades

Flags override environment variables. The SMTP URL is never logged. Copy .env.example and source it, or use it as a systemd EnvironmentFile=.

Settings you will set

VariableRole
TAUR_HOMEDatabase, repos/, outbox, host key.
TAUR_BINDHTTP listen address. Default 127.0.0.1:8080.
TAUR_BASE_URLLinks in mail and the public URL. No path.
TAUR_SSH_BINDEmbedded SSH. Unset means SSH is off.
TAUR_GRPC_BINDgRPC. Plaintext HTTP/2.
TAUR_SMTP_URLMail. Unset writes files under outbox/.
TAUR_ADMINSUser names granted site admin at startup. Grant only.
TAUR_RPC_RATE_LIMITRPC calls per peer per window. 0 is off.

Full table: repository docs/configuration.md.

systemd

Service files live in the application repository on main (packaging/systemd/ and packaging/taur.env.example). Point EnvironmentFile= at a copy of that example. TAUR_BASE_URL should be https://packages.taur.weirdbrains.com. The process should be the only writer of TAUR_HOME.

Backup

Stop the server or use SQLite's online backup, then copy TAUR_HOME: taur.db, repos/ (including repos/.deleted/), and ssh_host_ed25519_key. Restoring that directory onto the same version of the binary brings the instance back.

Upgrade

Build the new binary, stop the service, replace the binary, start it. The database applies small ALTER TABLE steps on open. Take the backup first. There is no separate migration command.