Install, use, remove.
Everything you need to run RainServer 1.0. Short, because the program explains itself as it goes.
Install
Sign in to the dashboard, click Add server and run the command it shows on the server. The token in it works once and expires after 24 hours.
curl -fsSL https://raincleaner.eu/rainserver/install.sh | sudo sh -s -- --token YOUR_TOKENAdd --dry-run to see what it would do without changing anything. The installer:
- checks the system: Linux, systemd, x86_64 or ARM64
- downloads one binary over HTTPS and verifies its Ed25519 signature and SHA-256
- installs /usr/local/bin/rainserver and the rainserver-agent service
- links the server to your account and starts the agent
Supported: Ubuntu 20.04+, Debian 11+, Rocky Linux, AlmaLinux and RHEL 8+. Public key for your own checks: rainserver-signing.pub
First steps
- 1
sudo rainserveropens the terminal dashboard. - 2
sudo rainserver fixlists what it can help with;sudo rainserver fix IDexplains one and asks before applying it. - 3
sudo rainserver cleanlists what can be removed and how risky it is. - 4Open the web dashboard: every server, alerts, history, automation and billing.
Commands
rainserver | Terminal dashboard |
rainserver status | One-screen summary |
rainserver scan [--json] | Full scan: metrics, findings, cleanup candidates |
rainserver fix [ID] [--yes] | List findings with a fix, or explain and apply one |
rainserver clean [--safe] [--item ID] [--yes] [--confirm ID] | List or remove cleanup items; DANGER needs --confirm with the item id |
rainserver security | services | docker | backups | net | One section of the scan |
rainserver history [N] | The last N recorded actions |
rainserver backup add NAME PATH HOURS | Watch a backup location (directory or glob) |
rainserver critical add UNIT | Never restart this unit without a person |
rainserver mute ID / unmute ID | Hide or show a finding |
rainserver link TOKEN / unlink | Connect to or disconnect from your account |
rainserver update [--check] | Install the latest signed release |
rainserver uninstall | Remove RainServer completely |
Keyboard
The terminal app is keyboard first. The footer always shows the keys that work on the current screen.
| Tab / ← → | Switch section |
| ↑ ↓ | Move |
| 1 | Dashboard |
| F | Fix My Server |
| C | Cleanup |
| U | Security |
| V | Services |
| D | Docker |
| N | Network |
| B | Backups |
| L | Logs |
| S | Full scan |
| Space | Select a cleanup item |
| Enter | Run the selected fix or cleanup (asks first) |
| H | Help |
| Q | Quit |
Risk levels
Every finding and every action has one of these. The level decides how much RainServer asks before it runs anything.
| SAFE | One confirmation for the group. The item list is one keystroke away. |
| REVIEW | You open the category and confirm it on its own. |
| DANGER | Never automatic. Shows the impact; critical ones need the name typed. |
| MANUAL ONLY | RainServer will not run it. It explains the finding and leaves it to you. |
Backups
RainServer does not make backups. Point it at the place your backups land and say how old the newest file may be:
sudo rainserver backup add db-nightly /var/backups/db 26Automation
In the dashboard under Automation: an approval level, a maintenance window and the jobs your plan allows. REVIEW, DANGER and MANUAL items are never automatic. Protect a unit from automatic restarts with:
sudo rainserver critical add mysqlAlerts
Set channels under Settings: email for owners and admins, Telegram (one click with our bot), WhatsApp (free through CallMeBot, with your own key), a Discord webhook or your own HTTPS webhook (JSON). An alert opens when a problem is seen on two reports in a row, and a server counts as offline after 5 minutes without a report. The daily report goes to every channel at the hour you pick.
API
Business and Agency plans can create tokens under Settings. Send them as a Bearer token. Limit: 600 requests per hour.
GET /api/v1/servers | All servers with state, CPU, disks and findings |
GET /api/v1/servers/ID | One server with its full latest snapshot |
GET /api/v1/alerts | Open alerts |
POST /api/v1/servers/ID/actions | Queue an action (Agency, write token): scan, service.restart, docker.restart, updates.security |
curl -H "Authorization: Bearer rsk_..." https://raincleaner.eu/rainserver/app/api/v1/serversFiles and data
/usr/local/bin/rainserver | The program (one static binary) |
/etc/systemd/system/rainserver-agent.service | The background agent |
/etc/rainserver/config.json | Settings: backups, critical units, muted findings, link to your account |
/var/lib/rainserver/history.jsonl | Local action history (append-only) |
Update and uninstall
sudo rainserver updatesudo rainserver uninstallChecks you can run today
RainServer is not magic. Most of its checks start from commands you already know — it runs them, reads the output together, and explains the result. Here are a few of them. They only read; none of them change anything.
df -h / /var && df -i /journalctl --disk-usagedocker system dfsystemctl --failedss -tulpnsshd -T | grep -Ei '^(permitrootlogin|passwordauthentication)'Get it running on your server in two minutes.
- Create an accountSign in with your email. The 7-day trial for one server starts right away; no card.
- Add your serverCopy the install command from the dashboard and run it with sudo. It shows what it will install and checks the signature of the download.
- Open itRun
sudo rainserverfor the terminal dashboard, or open the web dashboard.
curl -fsSL https://raincleaner.eu/rainserver/install.sh | sudo sh -s -- --token YOUR_TOKENWant to read it first? install.sh · Install docs
- Ubuntu, Debian, Rocky, AlmaLinux, RHEL
- x86_64 and ARM64
- Removed completely with one command