Skip to content

Day-to-day operations ​

All commands run on the server as root (or with sudo). The scripts of the installed version are in /opt/tadbir/current/compose/onprem/; the examples shorten that to $KIT:

bash
KIT=/opt/tadbir/current/compose/onprem

compose.sh is Docker Compose already set up for your installation: any docker compose command works through it.

Start, stop, status ​

bash
sudo $KIT/compose.sh ps                         # state of every container
sudo $KIT/compose.sh stop                       # stop Tadbir (data is kept)
sudo $KIT/compose.sh up -d --pull never         # start, or apply a .env change
sudo $KIT/compose.sh restart tadbir-standalone  # restart one container

Tadbir starts again by itself when the server reboots.

Health ​

compose.sh ps should show tadbir-standalone, postgres and keycloak as healthy and the others as Up; keycloak-config-cli shows Exited (0), which is normal: it configures sign-in at each start, then stops.

From the server itself:

bash
curl -k --resolve tadbir.acme.lan:443:127.0.0.1 -o /dev/null -w '%{http_code}\n' https://tadbir.acme.lan/

200 means the web interface answers through HTTPS.

Logs ​

bash
sudo $KIT/compose.sh logs --tail 200 tadbir-standalone   # application
sudo $KIT/compose.sh logs -f keycloak                    # sign-in, live

Containers: tadbir-standalone (application), ui (web server, HTTPS), keycloak and keycloak-config-cli (sign-in), postgres (database), photon (address search), tiles (maps).

Information for support ​

bash
cd /tmp && sudo $KIT/doctor.sh

It prints a summary (version, containers, web checks, license dates, disk space, last backup, certificate expiry) and writes tadbir-doctor-<date>.tar.gz with the summary, recent logs and your settings with passwords removed. Send that file to Oloom support.

Backups ​

A backup runs every day automatically (tadbir-backup.timer) while Tadbir keeps running. Each backup is a folder DATA_ROOT/backups/<date-time>/ with the database, uploaded files, license, certificate and settings. A backup is usable only if it contains a .complete file. Backups older than BACKUP_RETENTION_DAYS (30 by default) are deleted.

bash
systemctl status tadbir-backup.timer     # next run
systemctl status tadbir-backup.service   # result of the last run
sudo $KIT/backup.sh                      # back up now

Copy backups off the server (another machine, a NAS, tapes): a backup on the same disk does not protect you from losing that disk. Backups contain passwords and all your data: store them securely.

Restore a backup ​

Restoring replaces the current data with the backup's. Everything entered after that backup is lost.

bash
sudo $KIT/restore.sh /srv/tadbir/backups/20261012-020000

It stops Tadbir, moves the current data to DATA_ROOT/pre-restore-<date-time>/ (nothing is deleted), restores the backup, starts Tadbir and checks it answers. Once you have checked the result, delete that pre-restore-… folder to free space.

A backup can be restored on the same version or a newer one, not on an older version.

Restore on a new server (after losing the old one):

  1. Install the same version, with the same DATA_ROOT and TLS_DIR.
  2. Copy the backup folder to the server, then run restore.sh with it. The backup's settings, passwords, license and certificate replace the new ones.

Test your backups: restore one on a spare machine from time to time.

Replace the certificate ​

Put the new cert.pem (full chain) and key.pem in TLS_DIR (default /opt/tadbir/tls), then:

bash
sudo $KIT/compose.sh restart ui

doctor.sh shows the current certificate's expiry date. A certificate generated by the installer is valid for 825 days; to generate a new one, delete both files and run the installer again from the bundle of your installed version.

Disk space ​

What grows: the database and uploaded files (DATA_ROOT/postgres, DATA_ROOT/files), and DATA_ROOT/backups. Folders to delete when you no longer need them:

  • DATA_ROOT/pre-restore-<date-time>/: data replaced by a restore,
  • DATA_ROOT/upgrade-snapshot/: copy of the database before the last upgrade (needed only to go back with rollback.sh),
  • /opt/tadbir/releases/<version>/ of versions you will not return to (never the one /opt/tadbir/current points to).

Once you will not go back to the previous version, its Docker images can be removed with docker image prune -a while Tadbir is running. Do not do this before: rollback.sh needs them.

Tadbir Help Center — for customers in Europe and Tunisia