Lightweight Docker server monitoring
in your terminal

A single binary and an SSH connection. Host metrics, container stats, log tailing, and alerts โ€” no infrastructure to deploy.

tori

uses ANSI colors โ€” inherits your terminal theme

Host metrics, containers, logs, and alerts

Built for people who SSH into their Linux servers and VPSs and just want to know what's going on. Unlike Prometheus or Grafana, there's no infrastructure to deploy, no services to maintain, no ports to expose.

๐Ÿ“Š

Host Metrics

CPU, memory, disk, network, swap, and load averages with time history and sparkline graphs.

๐Ÿณ

Container Monitoring

Status, resource usage, health checks, and restart tracking. Toggle tracking per container with a keypress.

๐Ÿ“‹

Log Tailing

Stream container logs with regex search, log level filtering, match highlighting, and date/time ranges.

๐Ÿ””

Alerting

Configurable rules for host metrics, container state, and log patterns. Email and webhook notifications.

๐Ÿ–ฅ๏ธ

Multi-Server

Monitor multiple hosts from one terminal. Concurrent connections, instant switching between servers.

๐Ÿ”’

Zero Attack Surface

No HTTP server, no API, no open ports. Unix socket behind SSH. Your monitoring surface is your SSH surface.

A single Go binary
that monitors over SSH

The agent runs on your server collecting metrics and evaluating alerts 24/7. The CLI connects through an SSH tunnel to a Unix socket โ€” no open ports, nothing else to set up.

Single binary

Agent and client in one static binary. No runtime, no containers needed. Install and go.

SSH native

All communication over SSH tunnels to a Unix socket. No HTTP server, no API keys, no TLS certs to manage.

SQLite storage

Metrics and logs stored locally with configurable retention. No external database.

Always-on alerting

Rules evaluated on the agent 24/7. Get notified via email or webhook even when the TUI isn't open.

Opt-in tracking

Nothing tracked by default. Press t to start collecting for any container or compose group.

Terminal native

ANSI colors that inherit your terminal theme. No Electron app, no browser tab.

/etc/tori/config.toml
[collect] interval = "10s" [storage] retention_days = 7 [alerts.container_down] condition = "container.state == 'exited'" for = "30s" severity = "critical" actions = ["notify"] [alerts.high_cpu] condition = "host.cpu_percent > 90" for = "2m" actions = ["notify"] [alerts.error_spike] condition = "log.count > 10" match = "error" window = "5m" actions = ["notify"] [[notify.webhooks]] url = "https://hooks.slack.com/services/..." headers = { Authorization = "Bearer token" } template = ''' { "text": "{{.Subject}}", "severity": "{{.Severity}}", "status": "{{.Status}}", "body": "{{.Body}}" } '''

Install and monitor in under a minute

On your server
01

Install the agent

Sets up the binary, systemd service, and default config.

$ curl -fsSL https://raw.githubusercontent.com/thobiasn/tori-cli/main/deploy/install.sh | sudo sh
02

Start it

$ sudo systemctl enable --now tori
On your machine
01

Install the client

No root required. Linux, macOS, and Windows (WSL).

$ curl -fsSL https://raw.githubusercontent.com/thobiasn/tori-cli/main/deploy/install.sh | sh -s -- --client
02

Add your server

# ~/.config/tori/config.toml [servers.prod] host = "user@prod.example.com"
03

Connect

$ tori
On your server
01

Download the compose file

Includes sensible defaults and example alert rules.

$ curl -O https://raw.githubusercontent.com/thobiasn/tori-cli/main/deploy/docker-compose.yml
02

Start the agent

Edit the TORI_CONFIG section to configure alerts and notifications.

$ docker compose up -d
On your machine
01

Install the client

$ curl -fsSL https://raw.githubusercontent.com/thobiasn/tori-cli/main/deploy/install.sh | sh -s -- --client
02

Add your server

# ~/.config/tori/config.toml [servers.prod] host = "user@prod.example.com"
03

Connect

$ tori
On your server
01

Build the binary

Requires Go 1.25+.

$ git clone https://github.com/thobiasn/tori-cli.git $ cd tori-cli $ go build -o tori ./cmd/tori
02

Run the agent

$ sudo ./tori agent --config /etc/tori/config.toml
On your machine
01

Build the binary

Same build step โ€” single binary for both agent and client.

$ git clone https://github.com/thobiasn/tori-cli.git $ cd tori-cli $ go build -o tori ./cmd/tori
02

Add your server

# ~/.config/tori/config.toml [servers.prod] host = "user@prod.example.com"
03

Connect

$ ./tori

Open source server monitoring
for your terminal

Free and MIT licensed. A self-hosted, lightweight alternative to Prometheus and Datadog for people who want visibility without the overhead.