Hestia is a good server panel and a poor customer panel — it was built for whoever runs the box, not for the person renting space on it. MondoPanel is the half that was missing: a control panel your customers can actually use, on top of the Hestia you already run.
demo: demo / demo — real panel, sample data, nothing to install
You did not stop using Hestia. Nothing is replaced, nothing is migrated. MondoPanel installs alongside it and serves the people Hestia was never designed for.
DNS zones, mail queues, packages, firewall rules, server-wide settings. Everything you need to run the machine — and everything a customer should never be shown.
Their sites, their applications, their backups, their mail, their statistics. One account, scoped to itself, in language that does not assume they know what a vhost is.
A real panel with sample data. No sign-up, nothing to install, and nothing you do there can break anything.
sign in with demo / demo
Every account is scoped to itself. One customer cannot see, reach or affect another's files — that boundary is the thing this panel is built around, and it is pinned by its own test suite.
SSL with automatic renewal, forced HTTPS, per-site PHP settings, custom error pages, hotlink protection, folder-listing control.
Python and Node.js apps as systemd units — running as the account,
memory- and CPU-capped, private /tmp, no privilege gain.
Several runtimes side by side. You install them; the customer picks one per application and it is pinned there.
SPF, DKIM and DMARC checked and explained, with the exact record to publish and a button that publishes it.
Local on every tier. Offsite PRO to B2, SFTP, FTP or rclone — encrypted before it leaves the machine, and verified by restoring rather than by uploading.
Uptime, certificate expiry, PHP end-of-life and backup age as a single score per site, with the reason next to it.
Your name, your colour, your logo. Your customers never see ours — and never see Hestia.
Their own login, their own customers, their own limits.
WHMCS and Blesta modules included. Orders create accounts, non-payment suspends them, without you in the loop.
There is no phone-home. No licence server, no network call, no timeout to get wrong. A licence is a signed file, verified offline with arithmetic that has one failure mode: did not verify.
And it fails open. A licence that cannot be read, cannot be parsed, or arrives on a machine whose clock disagrees means Free — never "panel broken". Expiry gets a 14-day grace period on top of that.
If you have ever had a licence check take a control panel down at 3am, on someone else's server, during their outage — that is the thing this was designed not to do. A panel that inflicts an outage on your customers to protect our revenue is not a trade we are willing to make.
Per server. Free is not a trial and does not expire — it is the product, with the operator-scale features held back.
cPanel charges by how many customers you have — currently $32/mo for 30 accounts, after seven consecutive years of increases. MondoPanel does not count your customers. One price per server, whether you host five sites on it or five hundred. Grow without your panel bill growing with you.
Licences are issued by hand within a day of purchase — a signed file you paste into the panel.
On a server already running HestiaCP. Nothing is migrated and Hestia keeps working exactly as it does now.
# 1. fetch git clone https://github.com/YOURORG/mondopanel.git /opt/mondopanel # 2. install the root helpers, the agent and the web tier cd /opt/mondopanel && sudo bash deploy/install-appliance.sh # 3. open the panel, sign in, done # Pro: paste your licence file under Settings -> Licence
No. It runs alongside it and drives it. You keep using Hestia for DNS, packages and everything server-wide.
The panel keeps running and drops to Free. Nothing is deleted, no customer loses access, no site goes down. Pro features stop.
No, and that is the design centre rather than a feature. Every route is scoped to the account in the session, the web tier runs unprivileged, and privileged work goes through root helpers that take validated names — never paths.
No, deliberately. A shared daemon socket is root for whoever reaches it and a bind mount is every other customer's files. Until a design exists that does not weaken isolation, the answer is no.
Never. Not for licensing, not for telemetry. It works on a server with no outbound internet at all.
A working hosting company. This panel runs our own customers — it was built because we needed it, not to be sold.