The server monitor for terminal dwellers
No agents. No browser tabs. Just SSH into a retro-futuristic TUI and monitor your entire infrastructure. Open source, self-hosted, and built with Go.
Everything you need to monitor your infrastructure
A single Go binary that replaces complex monitoring stacks. Deploy with Docker in minutes, manage entirely via SSH.
SSH-First Dashboard
No browser required. Manage every monitor, alert, and user directly from your terminal via SSH. Built with the Bubbletea TUI framework.
Push & Pull Monitoring
HTTP/S active polling with SSL tracking, plus passive heartbeat endpoints for cron jobs and backup scripts.
Multi-Channel Alerts
Get notified instantly via Discord, Slack, Email (SMTP), or generic webhooks. Connect to PagerDuty, OpsGenie, and more.
High Availability
Leader/Follower clustering with automatic failover. If your primary node goes down, the standby takes over in seconds.
Flexible Storage
Start with SQLite for simplicity, migrate to PostgreSQL for production. Full JSON backup and restore API included.
Secure by Default
Database-backed SSH key authentication. No passwords, no exposed web ports. Your monitoring stays behind SSH.
Up and running in 60 seconds
One Docker Compose file. One command. Then SSH in and start adding monitors. No config files, no YAML sprawl, no agents to install on target machines.
- 1Save the docker-compose.yml file
- 2Run docker compose up -d
- 3Attach and create your first user
- 4ssh -p 23234 admin@your-server
services:
monitor:
image: rdgames1000/go-upkeep:latest
container_name: go-upkeep
restart: unless-stopped
stdin_open: true
tty: true
ports:
- "23234:23234"
- "8080:8080"
volumes:
- ./data:/data
environment:
- UPKEEP_DB_TYPE=sqlite
- UPKEEP_DB_DSN=/data/upkeep.db
- UPKEEP_STATUS_ENABLED=trueHow Go-Upkeep compares
See how Go-Upkeep stacks up against popular monitoring solutions.
| Feature | Go-Upkeep | Uptime Kuma | Datadog | Pingdom |
|---|---|---|---|---|
| Free & Open Source | ||||
| Self-Hosted | ||||
| SSH / TUI Interface | ||||
| No Browser Required | ||||
| Push Monitoring | ||||
| SSL Expiry Tracking | ||||
| High Availability | ||||
| Single Binary / Container |