Proxmox VE Proxmox Backup Server TrueNAS SCALE Unraid Docker via Portainer Uptime Kuma Home Assistant UniFi OPNsense Pi-hole AdGuard Home More platforms coming

Your homelab, on one screen.

Nodes, guests, storage and disk health across every server you run — with start, shut down and restart behind Face ID. No account, no telemetry, and nothing between you and your servers.

Eleven platforms today, plus an agent you run on your own network so your fleet is still watched when your phone isn't.

iPhone and iPad · iOS 17 or later · coming to the App Store

A server dashboard showing node CPU and memory, storage pools and disk health.

Built for infrastructure you actually care about

A monitoring app is only useful if you believe it. These are the parts that earn that.

Problems, named in words

A degraded pool, a failing drive, a volume filling up, a node that stopped answering — stated in plain language at the top, worst first. You shouldn't have to interpret a wall of numbers to find out whether anything is wrong.

"Stopped" isn't the same as "wrong"

Most stopped guests are stopped on purpose. The alert fires only when the platform's own auto-start flag is set and the guest isn't running — your declaration, on your server, so it can't drift out of sync with reality.

Control, carefully

Start, shut down, restart or force stop any VM or container. Controls sit behind a swipe or a long press, every action names what it's about to affect, and force stop is worded so you know you're pulling the power.

Face ID that means something

Biometrics unlock a short window rather than prompting on every tap. A prompt you tap through without reading protects nothing; the confirmation sheet naming the guest is what stops you halting the wrong VM.

Disk health you can act on

SMART status, drive temperature, SSD life remaining and serial numbers — so the drive you need to replace is the one you actually pull. On TrueNAS, live ZFS vdev state and error counters, not the result of a self-test somebody ran months ago.

Memory that tells the truth

ZFS ARC and Unraid's page cache deliberately fill RAM. A single bar paints a healthy machine permanently red, so memory is drawn as two segments: real pressure, and reclaimable cache. Neither figure alone is honest.

Read-only tokens welcome

Leave power management off your API token and the whole dashboard still works. Controls then return a clear "missing privilege" message rather than failing strangely.

Every warning explains itself

A warning states the problem in plain words. When the cause is configuration — a missing privilege, a token without a role — it carries the fix: numbered steps and the exact command, copyable. When there's no fix, a diagnostics report is one tap from your support inbox.

A terminal when you need one

A text console on a container, a shell on the node itself, and a full graphical display for VMs — driven like a trackpad, not a touchscreen. Behind the same Face ID gate as every control, and the socket closes the moment you leave the screen.

Acknowledge what you've decided to live with

Long-press a concern and it collapses out of the way. It comes back only if the severity changes or the number gets measurably worse — measured from where you acknowledged it, not from a fixed tier you'd trip over immediately.

An agent that keeps watching

The part a phone can't do on its own — and the reason this isn't just another dashboard.

Because iOS decides when apps run

A backgrounded app runs when iOS feels like letting it, and "sometime in the next few hours" is a weak way to find out a pool degraded at 3am. The agent polls every server every minute, on hardware that never sleeps.

One small program, on a box you own

A container, a VM, a Pi, a Docker host. One static binary — no runtime to install, no database, no dependencies. It fits in 256 MB of RAM and 2 GB of disk.

A year of history, not a day

Every poll is kept: a week at full resolution, then a year by the hour with peaks as well as averages. It serves its own dashboard in a browser, so the fleet has a desktop screen too.

Alerts that reach you anywhere

ntfy, Gotify, a webhook, or a push notification to your phone — the alert says what is wrong. Prefer to keep the detail on your own network? One switch sends only "something needs attention".

Pair once, and the app reads it too

Away from home, on cellular, or behind someone else's wifi, the app shows the agent's latest reading and labels it — "via agent", with its age — rather than claiming a freshness it doesn't have.

It stays on your network

The agent talks to your servers and to your phone. It's free, entirely optional, and the app works without it — pointing the phone straight at each server is still the primary way to use it.

What it looks like

Every screen below is running against sample data — the same mode you can try before you own a token.

A list of servers with a health roll-up for each.
Every server, with what needs attention
One server's dashboard: nodes, storage and disks.
Nodes, storage and disks per server
A list of VMs and containers with their state.
VMs and containers, with live metrics
A Proxmox server view.
Concerns first, worst at the top

It talks to your servers. That's all.

You're handing this app an API token to your infrastructure. Here's exactly what happens to it.

Tokens stay in the Keychain

Stored with kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly — never readable before the device's first unlock after a restart, and never synced unless you turn on iCloud Keychain sync and choose which servers go. Console passwords never sync.

Certificates are pinned, not ignored

Self-signed certs are fine — you compare the fingerprint on first connect. A changed certificate afterwards is a hard failure that asks you again. It's never silently accepted.

No account, no analytics, no SDKs

There's no server of ours to sign in to and no third-party code in the app at all. It talks to the addresses you typed in — plus, only if you ask for them, a version check on the Agent screen and our push relay. Both are spelled out.

Read the full privacy policy →

Supported today

Each of these needs an API token from the system itself. The app's setup guide walks through it, and so does the support page.

PlatformSupported fromSupported throughCredential
Proxmox VE7.09.0API token (user@realm!tokenid)
TrueNAS SCALE23.1025.10API key
Unraid7.07.2API key from unraid-api
Proxmox Backup Server2.04.0API token (user@realm!tokenid)
Portainer2.112.33Access token
Uptime Kuma1.212.0API key
Home Assistant2023.12026.8Long-lived access token
UniFi Network9.09.4API key
OPNsense23.126.1API key and secret
Pi-hole6.06.2App password
AdGuard Home0.1070.108Web interface sign-in

Older releases use different API shapes; support goes back to the last clean architectural break on each platform rather than to 1.0.

More platforms are on the way

The app is built so that a platform is an adapter behind one shared interface — the dashboard, the alerting and the controls are already platform-agnostic, so adding one is a contained job rather than a rewrite. What gets built next is decided by what people actually ask for.

Request a platform or feature