GitHub - leodeim/vpsmon: Lightweight system monitor for Linux VPS


Features
[](https://github.com/leodeim/vpsmon#features)
- **Live System Metrics:** CPU, Memory, Swap, and Load Average
- **Docker Integration:** Automatically detects and displays live CPU/RAM usage for running containers
- **Process Monitoring:** Shows the top 5 processes by CPU and Memory usage
- **Disk & Network:** Tracks used/free space across all mounts and live network Rx/Tx speeds
- **Built-in Security:** Password-protected Web UI (bcrypt) with login rate-limiting
- **Ultra Lightweight:** Single Go binary with zero dependencies and ~5MB RAM footprint

Installation
[](https://github.com/leodeim/vpsmon#installation)
curl -sL https://raw.githubusercontent.com/leodeim/vpsmon/main/scripts/install.sh | sudo bash
Useful Commands
[](https://github.com/leodeim/vpsmon#useful-commands) Once installed on your VPS, you can manage the monitor using these commands:
- **Check status:**`sudo systemctl status vpsmon`
- **View live logs:**`sudo journalctl -u vpsmon -f`
- **Update to latest:**`sudo bash /opt/vpsmon/update.sh`
- **Restart service:**`sudo systemctl restart vpsmon`
- **Edit configuration:**`sudo nano /opt/vpsmon/.env` (Restart required after changing port or credentials)
- **Uninstall:**`sudo bash /opt/vpsmon/uninstall.sh`
Environment Variables
[](https://github.com/leodeim/vpsmon#environment-variables) | Variable | Default | Description | | --- | --- | --- | | `MONITOR_ADDR` | `:8088` | Listen address | | `MONITOR_USER` | `admin` | Web UI username | | `MONITOR_PASS_HASH` | (hash of `changeme`) | Web UI password (bcrypt hash) |
Reverse Proxy (HTTPS)
[](https://github.com/leodeim/vpsmon#reverse-proxy-https) Caddy is the easiest way to expose `vpsmon` with automatic HTTPS. Add the following to your `Caddyfile`:
monitor.yourdomain.com { reverse_proxy 127.0.0.1:8088 }