Your status page, online in one command.
Self-hosted, open source, and free. Nothing to sign up for.
$
curl -fsSL -o setup.sh https://raw.githubusercontent.com/lelabnet-creator/ternproject/main/scripts/setup.sh && sh setup.sh
Needs curl, and a machine that can reach the internet the first time. Linux — tested end to end on Rocky Linux, Ubuntu and Arch Linux.
The command fetches tern-setup, a Rust binary checked against
the SHA-256 published with the release before anything runs. If Docker is
missing it offers to install it through apt, dnf or pacman — and asks
first.
Agents and the proxy · Read the source · Documentation · AGPL-3.0
The same install draws all of this.
Four views of one bad afternoon — which day, when exactly, how slow it felt, and whether it keeps happening.
Uptime ribbon
One bar a day, coloured by that day's worst moment — not its average.
Status timeline
The red bar above, opened up. Runs of the same state, merged.
Response time band
p50 to p99. An average would have said everything was fine.
Availability calendar
A weekday per row, so a problem that repeats every Monday looks like one.
Six ways to ask if something is alive
-
pushYour job reports in on a schedule. Going quiet is the signal. -
httpA URL and a method. Verifies TLS unless you turn that off. -
tcpA host and a port. It answers, or it does not. -
pingThree echoes by default, up to ten. -
dnsA name and a record type, through any resolver. -
certHow many days the certificate has left.
The figures above are a demonstration, not a live instance. Your own page shows your own services.
Some things can only be checked from inside.
A URL or a certificate can be checked from anywhere. The rest sit behind a private subnet, a NAT, or a network with no way out at all.
tern-agent
On the machine you want watched. Everything it sends is outbound — there is nothing to open and nothing to let in.
tern-proxy
For a zone with no way out at all. It issues the zone's own keys and holds the upstream one itself, so nothing in there can reach TERN.
Three things that decide the deployment
-
pairA short code, once. No key is ever copied onto a host by hand. -
bufferFive thousand points held on disk while the server is unreachable. -
relayThe proxy serves the same endpoints, so an agent cannot tell.
Most people need neither: if it answers on a URL the server can reach, there is nothing to install. Read the documentation.
Why TERN
-
Simple
One command. It writes its settings, sets up its storage, and waits until the page answers.
-
Fast
Online in about the time it takes to read this page — and no account to make first.
-
Free
Everything on the first install. No tier, no cap, no trial that expires.
-
Reliable
It runs on your machine. No account, no service in the middle to go down with you.