diff --git a/README.md b/README.md index a99d83d..96b9a1b 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,6 @@ **One dashboard for your whole fleet. Agentless over SSH. Self-hosted, security-first, open core.** [![License](https://img.shields.io/badge/license-AGPL--3.0-FF6B2C?style=flat-square&labelColor=0F1318)](#license) -[![Version](https://img.shields.io/badge/release-v0.9.58-FF6B2C?style=flat-square&labelColor=0F1318)](https://github.com/clusev/clusev) [![Laravel](https://img.shields.io/badge/Laravel-13-9DAAB6?style=flat-square&labelColor=0F1318)](https://laravel.com) [![Livewire](https://img.shields.io/badge/Livewire-3-9DAAB6?style=flat-square&labelColor=0F1318)](https://livewire.laravel.com) [![Docker](https://img.shields.io/badge/Docker-ready-43C1D8?style=flat-square&labelColor=0F1318)](#quick-start) @@ -123,9 +122,40 @@ recommended** — enable TOTP and/or a security key from **Settings → Security ## Requirements -- A **Debian or Ubuntu** server (a small VM is enough) with **root** access. -- A **public IP**. Optionally a domain whose DNS points at the server (for automatic HTTPS). -- Only **git** to fetch the repo — the installer sets up Docker and everything else. +**The Clusev panel host** — the one VM that runs the dashboard: + +- **OS:** Debian 12/13 or Ubuntu 22.04/24.04, with **root** access. +- **CPU / RAM:** 1 vCPU and **1 GB RAM** minimum (**2 GB recommended**) — the whole Docker stack + (app, MariaDB, Redis, Reverb, queue) runs here. +- **Disk:** ~**5 GB** free minimum (**10 GB+** recommended — image and database grow over time). +- **Network:** a **public IP**; optionally a domain whose DNS points at the server (for automatic + HTTPS — Let's Encrypt needs ports **80/443** reachable). +- **Tools:** only **git** to fetch the repo — the installer sets up Docker and everything else. + +**The servers you manage** need **nothing installed** — just **SSH** reachable from the panel and a +standard Linux `/proc`. Full control (service management + hardening) additionally needs **systemd** +and one of `apt` / `dnf` / `zypper`. See [**Supported operating systems**](#supported-operating-systems). + +--- + +## Supported operating systems + +Clusev is **agentless** — it manages whatever it can reach over SSH. How much works depends on the +target's init system and package manager: + +| OS family | Metrics | systemd services | Hardening
(SSH · fail2ban · firewall · auto-updates) | +|:--|:-:|:-:|:-:| +| **Debian · Ubuntu** (and derivatives) | ✅ | ✅ | ✅ | +| **RHEL · Fedora · Rocky · AlmaLinux · CentOS Stream · Amazon Linux** | ✅ | ✅ | ✅ | +| **openSUSE · SLES** | ✅ | ✅ | ✅ | +| **Arch** | ✅ | ✅ | ⚠️ not yet (`pacman` not wired) | +| **Alpine** (OpenRC) | ✅ | ❌ no systemd | ❌ | +| **Other / unidentified Linux** | ✅ if `/proc` present | ❌ | ❌ | + +**Metrics** (CPU, memory, disk, load) read from `/proc` and work on essentially any Linux. **Service +control** needs **systemd**. **Hardening** uses the host's firewall (`ufw` / `firewalld`) and package +manager (`apt` / `dnf` / `zypper`); where those aren't present, the action is shown as unavailable +rather than failing silently. --- diff --git a/art/clusev-banner.svg b/art/clusev-banner.svg index c8d80e7..353e34f 100644 --- a/art/clusev-banner.svg +++ b/art/clusev-banner.svg @@ -54,7 +54,7 @@ text{-webkit-font-smoothing:antialiased;} One dashboard for a fleet of Linux servers. Self-hosted control plane · metrics · services · SFTP · hardening · audit. -AGPL-3.0Laravel 13Livewire 3Dockerv0.9.40 +AGPL-3.0Laravel 13Livewire 3Docker FLEET · LIVE STATUS