Your server runs eight things.
Know when one dies.

Chillbox connects to your server over SSH and works out what it's actually running. It checks that each service really answers — not just that the process is up — and tells you when one goes down.

Get it on the App Store

Free for 7 days, everything unlocked. Then $7.99 once. No subscription.

What it looks like

The dashboard saying what is wrong in a sentence, with the service cards under it Homebrew services on a Mac, with the ones it could not verify saying so The severity compass: nine categories, and only the one that hurts lit up

It finds them by itself

No configuration. Connect, and the services you're running show up with their own cards.

Pi-hole
Home Assistant
AdGuard Home
Plex
Jellyfin
Frigate
Syncthing
Node-RED
Mosquitto
Zigbee2MQTT
OctoPrint
Portainer
Uptime Kuma
Grafana
Transmission
Tailscale

"Running" and "working" are different things

systemctl says active and docker ps says Up while the service behind them stopped answering hours ago. That's the failure that actually bites, and process state can't see it.

Chillbox asks the service itself, on your server's own loopback, and reports one of four states: responding, not responding, running but unverified, or stopped — with a timestamp, so a check from an hour ago doesn't read as current.

It doesn't cry wolf

A container you stopped on purpose is not a problem, and Chillbox won't treat it like one. It reads the intent your system already declares — whether a unit is enabled at boot, whether a container has a restart policy — instead of guessing.

Something declared always-on that isn't running gets an alert. Something you shut down yourself stays quiet.

When something breaks

Keys, and files

SSH keys. Ed25519 is the path that works, with or without a passphrase. A key is imported once, into a key store of its own, and any number of servers can point at the same one. The private half goes to the iOS Keychain and stays on the phone; a per-key switch, off until you turn it on, moves it to iCloud Keychain instead.

A file browser over SFTP. Browse the server, upload, download, rename, make a folder. Transfers stream in chunks between the network and disk, so a file larger than the phone's memory is still a file it can move, and every transfer shows progress and can be cancelled. An upload writes under a temporary name and only takes the real one once the last byte is there, so cancelling it leaves whatever was already on the server untouched.

Deleting is off until you turn it on. The switch is off every time the screen opens, never remembered, and with it on each delete still asks first and names the file. A folder is removed only when it's already empty.

How it connects

Plain SSH. Nothing installed on the server — no agent, no daemon, no cron job. A password or an Ed25519 key, with its passphrase if it has one.

No Chillbox server. Your phone talks to your server over SSH and to no other machine. No account, no telemetry. The only things that leave the phone for anyone else are Apple's own: the App Store purchase, and the date your trial started, which sits in your iCloud so that reinstalling doesn't hand you a second one.

The host key is verified before any credential is sent. Pinned on first connection, like known_hosts. If it changes, the connection stops and Chillbox explains why instead of handing your password to whoever answered.

Credentials live in the iOS Keychain, on this device, unless you switch a given key over to iCloud Keychain yourself.

One connection at a time, and every channel on it gets closed. An SSH server allows around ten sessions on one connection; Chillbox holds at most four, and counts the terminal and the file browser against the same four. It used to leak them, which is what made the app stop answering after a while and show a server as offline when it wasn't.

Read every command Chillbox runs on your server →

What it doesn't do

iPhone only. No iPad layout yet, no Android, and no Mac app. It monitors Macs, it doesn't run on one.

Background checks are not real time. With the app closed, iOS decides when it may run — typically every 15 to 60 minutes, sometimes not at all if you rarely open the app or Background App Refresh is off. Anyone promising continuous monitoring from an iOS app is describing something the platform doesn't allow.

Same network, or a VPN. Chillbox speaks straight to your server with nothing in between, so from outside its network you need something like Tailscale or WireGuard. The app explains how when it detects the situation.

Which means alerts don't follow you everywhere. Off that network with the app closed, a background check can only reach your server if your VPN is always-on — Tailscale can be. Without that, the check can't connect and you won't get the alert. It's the honest consequence of having no server in the middle.

ECDSA, PEM and PuTTY keys are turned away at import. Ed25519 works, encrypted or not, and so do passwords. RSA is accepted with a warning attached: the SSH library underneath signs it with SHA-1, and OpenSSH 8.8 and later disable ssh-rsa by default, so whether it connects is the server's call and not something the app can tell you in advance. ECDSA can't be parsed at all. The key has to be in the OpenSSH container (-----BEGIN OPENSSH PRIVATE KEY-----); a PEM or PKCS#8 file and a PuTTY .ppk are each refused with the way to convert it.

It's closed source. The commands page exists because that's a fair thing to want to check.

Questions people actually ask

Why not just use Uptime Kuma?

If you already run Kuma on a second machine, keep it — nothing on a phone beats a box that checks every 60 seconds. Chillbox is for the server that has nothing watching it: no setup, it works out what you're running by itself, and when something is down the restart button, the logs and a terminal are on the same screen as the alert. Kuma tells you it's down; it can't bring it back.

Does it have to be a Raspberry Pi?

No. Chillbox monitors any Linux host over SSH, and macOS too: a VPS, a NAS, a Proxmox container, a Mac mini running as a server, an old laptop, or a Pi. It detects what it's connected to and adapts. Temperature, throttling and undervoltage only show up on a real Raspberry Pi; on a Mac it reads Homebrew services instead of systemd units, and says out loud which readings macOS doesn't expose over SSH.

Multiple machines?

Yes — included in the one-time unlock, along with the Docker, systemd and Homebrew service controls, killing a process, alerts, history, the terminal, saved commands and the SFTP file browser. After the trial ends without paying, the app keeps working as a single-machine monitor.

Why is it paid, and why one payment?

There's no server, so there's nothing a subscription would be paying for. Seven days free with everything unlocked, then $7.99 once.

Why isn't it on the App Store in Europe yet?

EU distribution comes with requirements for individual developers that I haven't been able to meet yet. If you're in the EU and want Chillbox, write to me at gortega+chillbox@gmail.com or on LinkedIn and I'll tell you the moment that changes.