WHAT IT IS
Remote Linux Manager Web Edition turns a spare Raspberry Pi, or any Debian-based machine, into an always-on manager for a small Linux fleet. It sits between doing everything by hand over SSH and learning Ansible, and is aimed at one person looking after up to about 20 machines at home or in a small office.
It's agentless: nothing is installed on the machines you manage. Each one only needs OpenSSH and a user with sudo. It grew out of my desktop Remote Linux Manager, and the battle-tested SSH, snapshot and clone code from that app runs unchanged underneath the new web interface.
WHAT IT DOES
- Dashboard: shows which PCs are online, which have updates waiting, and which have drifted from their snapshot. It includes a 24-hour chart and a live, colour-coded activity log, and each tile shows what that PC is doing right now, such as "Rebooting: waiting for it to come back".
- Fleet actions: select one or more PCs, then check status, install updates, install software, run commands (with a list of common ones), send files or scripts, wake, reboot or shut down. Reboots are monitored until the PC comes back.
- Adding PCs: scan the network for machines answering on SSH and add them with one click, or add them by address.
- Snapshots and drift: record the apps you installed plus local users and groups, then see what has changed since. Remove unwanted extras after reviewing the list, or clone one PC's software onto another, with a simulate-first option.
- Monitoring: a quick online check runs every 30 seconds and a full check every 5 minutes, even with no browser open. Wake-on-LAN happens automatically before an action on a sleeping PC.
- History: charts of PCs online and pending updates over 24 hours, 7 days or 30 days, plus a timeline of when each PC was up or down. Every chart exports as CSV or as a PNG image.
- Phone alerts: using the free ntfy app, with no account or phone number, you get one alert when a PC has been offline for 10 minutes and one when it's back. PCs you shut down yourself, and ones you mark as "don't alert", stay quiet.
- Backup and restore: one encrypted file holds the whole fleet: PCs, saved passwords, snapshots and history. You can restore it, or merge it into a new server.
- Security: HTTPS with the server's own certificate authority, or your company's certificate. Anyone on the network can see a read-only monitor view, while managing the fleet needs the admin login. Repeated wrong passwords lock the login out, and the admin view locks itself when idle. SSH passwords are stored encrypted, and SSH host keys are remembered so an impostor machine is refused.
HOW IT'S BUILT
It's a Python 3 web application with a deliberately small, Debian-packaged stack, so the installer can get everything from apt and nothing needs compiling on a Pi.
- Web server: a Flask app served by Cheroot, a lightweight production web server that handles the HTTPS encryption itself, limited to TLS 1.2 and 1.3. There's no Apache or nginx.
- SSH: Paramiko, running my desktop app's original connection, snapshot and clone code.
- Database: SQLite, holding the fleet, snapshots, history and settings in one file.
- Encryption: the Python cryptography library. SSH passwords are stored with Fernet, and backups are sealed with AES-256-GCM using a key derived from your passphrase with scrypt.
- Front end: plain HTML, CSS and JavaScript with the fonts bundled, so there are no frameworks and nothing loads from the internet. The charts are drawn directly in the browser, and the page works on a network with no internet access.
- Service: it runs under systemd as its own unprivileged user.
REQUIREMENTS
- Server: a Debian-based Linux system with systemd, such as Debian 11 or newer, Ubuntu 22.04 or newer, Linux Mint 21 or newer, or Raspberry Pi OS. A Raspberry Pi 4 with an ordinary SD card is plenty; history is recorded sparingly to spare the card.
- Managed PCs: Linux with OpenSSH server and a sudo user. Updates, software installs...
Read more »
diddy