July 13, 2026

Give clients a private status page for their app

Give a client a private, read-only status page for a single app — scoped to what you choose, on your own domain, without handing over a login to your server.

ServerCompass Team • 5 min read
Give clients a private status page for their app

A client emails at 9pm: "Is the site down? It feels slow." You open a terminal, SSH into the server, run docker ps, tail a few logs, take a screenshot, and reply. Ten minutes spent on a question the client could have answered themselves in five seconds — if only they had somewhere safe to look.

The usual fix is worse than the problem. You either keep fielding "is it up?" messages by hand, or you hand the client a login to your control panel — and now the person who just wanted a green light can see every other app on the server, restart the wrong container, or wander into a database that isn't theirs.

A private status page for one app — and nothing else

Client Portals give a client a read-only status page for a single app. They open a link, see whether the app is healthy, and check its recent metrics — with no account, without touching the rest of your server, and without seeing anything you didn't choose to share.

The page is scoped to exactly one app. Everything else on that server — your other clients, your own projects, the machine itself — stays invisible.

The client-facing status page showing a Healthy app with uptime, CPU, memory, container storage, network throughput, and a last-hour performance chart

Turn it on for one app, in a guided flow

From the app you want to share, open Configure client portal. Before anything installs, Server Compass runs a readiness scan on the server: it checks your license, that Docker and Compose are available, that the runtime images are pinned, that the CPU architecture is supported, and that there is at least 512 MB of disk and 256 MB of memory free. Anything that needs attention is listed with a plain label, so you fix it before setup rather than in the middle of it.

When the checks pass, Server Compass installs a small portal runtime at /opt/servercompass/client-portal, configures the public HTTPS route, and verifies HTTPS before the link ever goes live.

Choose exactly what the client can see and do

By default a portal is view-only: the client sees status and basic metrics and nothing else. From the Permissions list you decide how far that goes:

  • View status and View metrics are always on — that is the point of the page.
  • View recent logs lets the client see recent output when something looks off.
  • Restart, Start, and Suspend application give the client one-tap control over that single app.

Hand a non-technical client a pure status page. Give a technical client the ability to restart their own app at 2am instead of paging you. Every action a client takes is written to a per-client activity log, and the controls wear an "audited actions" badge so nobody forgets they are real.

The Share client portal dialog configuring brand name, logo, accent color, a 30-day expiry, an optional passcode, and per-app permission checkboxes

Make it look like yours, on your own domain

A client-facing page shouldn't say "Server Compass." Under Portal branding you set a brand name, upload a logo, and pick an accent color — the logo is resized locally and stored with that link. Point a hostname like status.yourclient.com at the portal and it serves over HTTPS: through managed Traefik automatically, or through your existing reverse proxy if you run one.

The client status page scrolled to owner-enabled application controls with Start, Restart, and Suspend buttons and an audited-actions badge

Keep every link under control

The private link grants access without a login, so the safeguards matter:

  • Expiry — a link can expire after 1, 7, 30, 90, or 365 days. Pick the shortest span that fits the engagement.
  • Optional passcode — add a second factor on top of the private link.
  • Secrets stay on your device — links live in your computer's system keychain, and your server credentials never leave the encrypted vault.
  • Rotate, revoke, or remove any link from one place, with a read-only preview so you can see exactly what the client sees.

If a client suspends their app, you find out immediately: the app is flagged Suspended by client in your own dashboard, so there is never a mystery about why something stopped.

The owner's Server Compass app list showing an app flagged Suspended by client after a client used a portal control

Before and after

Answering "is my app up?"Before Client PortalsWith Client Portals
Client checks the appEmails you; you SSH in and replyOpens a private link and reads "Healthy"
What access you hand overA control-panel login that sees everythingA read-only page scoped to one app
How it looksA generic tool's UIYour name, logo, and color on your domain
Client restarts their appThey page you; you do itOne tap, if you allow it — fully audited
Revoking accessChange passwords and hopeRotate or revoke the link in one click

Who gets the most out of this

  • Agencies and freelancers hosting client apps: replace the "is it up?" thread with a branded link, and let clients restart their own app without opening a ticket.
  • MSPs running many clients on one server: give each client a portal scoped to just their app, with a per-client activity log for accountability.
  • Anyone handing off a project: leave the client a status page they can trust — on your domain, that expires when the engagement does.

Try it

Update to v1.30.0, open the app you want to share, and choose Configure client portal. A couple of minutes later you'll have a branded, private, expiring status page — and one less "is it up?" message to answer by hand.