Hermes

Hermes Documentation

Hermes is a self-hosted speed test monitoring solution that periodically tests your internet connection and exports results to multiple destinations (CSV, SQLite, Prometheus, Loki). It includes a modern React frontend for visualization and configuration.

Features

Data Collection & Export

Alert Notifications

Send notifications when speed tests fail consecutively:

Alert configuration supports:

Web Interface

Alert Setup Examples

With persistent config:

# Deploy Apprise API container
docker run -d -p 8000:8000 caronc/apprise-api

# Configure in Hermes
ALERT_APPRISE_URL=https://apprise.example.com/notify/myconfig

Then manage recipients in Apprise’s web UI at http://apprise.example.com.

With stateless mode:

ALERT_APPRISE_URL=https://apprise.example.com

Add service URLs in the UI Settings → Apprise → Service URLs:

ntfys://ntfy.example.com/topic?token=tk_xxx
gotify://gotify.example.com/token
discord://webhook_id/webhook_token

ntfy

ALERT_NTFY_TOPIC=hermes_alerts
ALERT_NTFY_TOKEN=tk_xxxxxxxxxxxxx  # Optional for private topics
ALERT_NTFY_PRIORITY=3

Gotify

ALERT_GOTIFY_URL=https://gotify.example.com
ALERT_GOTIFY_TOKEN=your_app_token
ALERT_GOTIFY_PRIORITY=5

Webhook

ALERT_WEBHOOK_URL=https://your-webhook.example.com/alerts

Payload format:

{
  "failure_count": 3,
  "last_error": "Connection timeout",
  "timestamp": "2026-04-29T12:00:00Z"
}

Deployment

See the main README for full deployment instructions with Docker Compose.

Support