p.enthalabs

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

![Image 1: vpsmon Logo](https://github.com/leodeim/vpsmon/blob/main/misc/logo.png)

![Image 2: Build and Release](https://github.com/leodeim/vpsmon/actions/workflows/build.yml)![Image 3: Latest Release](https://github.com/leodeim/vpsmon/releases/latest)![Image 4: Downloads](https://github.com/leodeim/vpsmon/releases)![Image 5: License](https://github.com/leodeim/vpsmon/blob/main/LICENSE)

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

![Image 6: vpsmon Screenshot](https://github.com/leodeim/vpsmon/blob/main/misc/screenshot.png)

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 }