Deployment files
Copy the YML files listed into your deployment repository in the same folder structure and update them as required based on the instructions below. Include the PostgreSQL initialization script when using the bundled datastore.towbar.yml
.towbar
config
postgres-init.sh
datastores
rootset-postgres.datastore.yml
services
rootset-api.service.yml
rootset-worker.service.yml
rootset-web.service.yml
Runtime secrets
For the bundled PostgreSQL datastore, set:rootset database owner. It runs only on an empty datastore volume. Do not delete an existing volume to force initialization.
On both API and worker, add the database URL, public URLs, application secrets, S3 source and SMTP settings from Configuration. Use rootset-postgres:5432 as the database host when using the bundled datastore.
Also add ROOTSET_DATABASE_URL to the pre-deploy secrets of both services so their migration hooks can connect. On the UI, add only ROOTSET_PUBLIC_API_ORIGIN, set to the public API URL.
If you use an existing PostgreSQL server, omit the datastore and initialization script, and supply its ordinary database-owner URL instead.
Sync and deploy
Connect the deployment repository in Towbar, map theproduction environment to your branch, and sync the manifests.
- Deploy PostgreSQL and wait for readiness, or check your existing database connection.
- Deploy the worker and wait for its migration hook and heartbeat check.
- Deploy the API and wait for
/health/ready. - Deploy the UI and open its public URL.
- Claim the installation with your configured application secret and create the first administrator.
autoDeploy: false. Keep all three application images on the same release version. Follow Upgrades when updating an existing installation.