Skip to main content
Use your existing Towbar installation to run the Rootset API, worker, UI and a managed PostgreSQL database. You also need an S3 source and SMTP service as described in Configuration.

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
Replace the IP address, TLS mode and domains as required. Add the required environment variables to runtime secrets based on your installation. The example includes commented-out backup variables; refer to Configuration for the settings supported by your Rootset version.

Runtime secrets

For the bundled PostgreSQL datastore, set:
The initialization script creates an ordinary 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 the production environment to your branch, and sync the manifests.
  1. Deploy PostgreSQL and wait for readiness, or check your existing database connection.
  2. Deploy the worker and wait for its migration hook and heartbeat check.
  3. Deploy the API and wait for /health/ready.
  4. Deploy the UI and open its public URL.
  5. Claim the installation with your configured application secret and create the first administrator.
The examples keep deployment manual with autoDeploy: false. Keep all three application images on the same release version. Follow Upgrades when updating an existing installation.