Lightweight operations console and telemetry dashboard for single Ubuntu VPS deployments.
system-ops is a fast, low-overhead operations dashboard engineered specifically for single-node Ubuntu servers. It monitors Ollama local LLMs, PM2 process fleets, system health, PostgreSQL backup logs, and real-time Nginx traffic with GeoIP mapping.
Unlike Prometheus or Grafana stacks that consume 500MB+ of RAM, system-ops operates in under 35MB of memory as a single self-contained Node.js service.
Automated installer on Ubuntu 22.04 / 24.04:
Manual installation:
Run containerized with read-only host mounts:
| Variable | Default | Description |
|---|---|---|
| APP_PASSWORD | (required) | Console login password |
| SESSION_SECRET | (required) | Cookie signing secret |
| PORT | 9080 | Loopback HTTP listen port |
| HOST | 127.0.0.1 | Network interface binding |
| PM2_USERS | deploy,root | Users whose PM2 daemons to inspect |
| OLLAMA_URL | http://127.0.0.1:11434 | Local Ollama API endpoint |
| NGINX_LOG_PATH | /var/log/nginx/access.log | Access log path for traffic analytics |
| BACKUPS_DIR | /var/backups | Directory where backup dump files are stored |
| Method | Endpoint | Auth | Description |
|---|---|---|---|
| GET | /health | No | Liveness health check |
| POST | /api/login | No | Session login |
| POST | /api/logout | No | Session logout |
| GET | /api/v2/system/snapshot | Yes | Host health snapshot |
| GET | /api/v2/system/processes | Yes | Top process table |
| GET | /api/v2/pm2/snapshot | Yes | PM2 process fleet |
| GET | /api/v2/pm2/logs | Yes | PM2 application logs |
| GET | /api/v2/backups/files | Yes | Backup dump files |
| GET | /api/v2/traffic/analytics | Yes | Traffic analytics & GeoIP |
system-ops runs strictly on localhost (127.0.0.1:9080) behind Nginx with SSL termination. All host inspection commands (systemctl, journalctl, pm2) execute through fine-grained passwordless sudo rules in /etc/sudoers.d/system-ops.