Health checks and monitoring
A wiki nobody can open on Monday morning is a bad surprise. This page covers the quick ways to check that Tesria is well, and how to hear about it automatically when it is not, so you find out before the people who use it do.
On this page, your-server stands for your server’s address: whatever you type into the browser to open Tesria, without https://. For example, if you open Tesria at https://wiki-server.local, then https://your-server/api/health means https://wiki-server.local/api/health.
Is it running?
Open https://your-server/api/health in a browser. It needs no sign-in, and answers like this:
{"status":"ok","service":"tesria-api","version":null,"utc":"2026-09-23T05:26:02Z","maintenance":null}status: an answer at all means Tesria is running and taking requests.version: which version of Tesria is running, but only while you are signed in. To anyone else it is empty, so the version is not advertised to strangers.maintenance: empty, except while a backup is being restored, when the wiki can be read but not changed.
On the server itself, the same check from a terminal:
curl -k https://localhost/api/healthLet a monitor do the checking. Point any uptime monitoring service at https://your-server/api/health and it tells you by email or phone when Tesria stops answering.
The containers
docker compose psEvery service should say Up. Four of them also check themselves, and add (healthy) or (unhealthy):
db: the database answers.app: Tesria answers.backupandpgbackrest: the backup services have checked in within the last five minutes. They check in every minute, even in the middle of a long backup.
To see why a service is unhappy, read its log, for example docker compose logs backup.
Inside Tesria
Under Admin:
Dashboard: people, content, usage and health at a glance.
Backups: whether each backup is working, when it last ran, and how much disk is left.
Security: alerts, such as repeated failed sign-ins, a failed backup or a disk running low. Every administrator gets them in the bell, and by email once email is set up.
The audit log
Every change an administrator makes is recorded in the audit log. Each entry is chained to the one before it, so an entry changed or deleted afterwards is detected. Tesria checks the chain every day, and Verify now under Admin, Security, Audit log integrity checks it on demand. See Audit.
To check it from outside Tesria, for example on a schedule with cron, use the script in the Tesria folder with an administrator’s API token (see API tokens):
scripts/verify-audit-chain.sh https://your-server "$TESRIA_ADMIN_TOKEN"It ends with exit status 0 when the chain holds and 1 when it is broken, which is what a scheduler or monitor looks at. Every audit entry is also written to Tesria’s log (docker compose logs app); sending that log to another machine keeps a copy that even someone with the database cannot touch.
Applies to | Tesria 0.5 and later |
|---|---|
Updated | September 24, 2026 |
Changes | Revised. |