HestiaCP alternative: when to switch and what to look for

Looking for a HestiaCP alternative? A fair HestiaCP vs ZoPanel comparison: isolation, Node.js and Docker apps, backups, cost, and how to migrate.

Comparison table of HestiaCP and ZoPanel on a VPS

Key takeaways

  • HestiaCP is a free, GPLv3 open-source panel that handles PHP sites, mail and DNS well on Debian and Ubuntu.
  • The usual reasons to look for a HestiaCP alternative are Node.js, Python or Docker apps, and stricter per-customer resource isolation.
  • ZoPanel builds in Git deploy, a Docker App Store, a WAF and per-account sandboxes, but its Free plan stops at 10 websites.
  • There is no automatic HestiaCP importer in ZoPanel; you move sites with files, database dumps and a DNS switch.

If you are looking for a HestiaCP alternative, the short answer is this: HestiaCP is still a good choice for PHP websites, mail and DNS on a VPS, and it costs nothing. Switch only when you hit a specific limit, usually running Node.js, Python or Docker apps from the panel, isolating customers' resources more strictly, or needing tools for a hosting business (resellers, billing, encrypted off-site backups). At that point a newer panel such as ZoPanel is worth testing side by side on a spare VPS.

This article compares HestiaCP and ZoPanel on criteria, not impressions. We make ZoPanel, so we have an interest; every statement about HestiaCP comes from the project's own documentation and changelog at the time of writing (October 2026). Check the current release before you decide.

What is HestiaCP, and what does it do well?

HestiaCP is an open-source control panel under the GPLv3 licence, descended from VestaCP. According to its documentation, HestiaCP:

  • Runs on Debian 12 and 13 and Ubuntu 22.04, 24.04 and 26.04 LTS, on AMD64 and ARM64, and must be installed on a fresh operating system.
  • Needs at least 1 GB of RAM (without SpamAssassin and ClamAV), recommends 4 GB, and at least 10 GB of disk.
  • Uses Apache behind an nginx proxy (or nginx alone) with PHP-FPM and several PHP versions side by side; Exim, Dovecot, SpamAssassin, ClamAV and Roundcube for mail; BIND with clustering for DNS; Let's Encrypt including wildcard certificates; iptables and Fail2Ban.
  • Offers Quick Install Apps for popular PHP applications, backups through rclone to dozens of storage services (since 1.7.0) and incremental backups with restic (since 1.9.0).

Its real strengths: free, no limit on websites, a long-standing community, a tidy interface, and everything a traditional PHP host needs. If you run a few dozen WordPress sites of your own and all is well, there is no reason to move just because another panel is newer.

Why do people look for a HestiaCP alternative?

From the questions users ask on the project's forum and from the changelog, four reasons come up again and again.

1. Node.js, Python or Docker apps

HestiaCP is built around PHP. The community guide for Node.js has you install Node yourself, run the process yourself (usually with PM2 or systemd) and pick a proxy template for the domain. There is no Git deploy, health check or rollback in the panel. For an agency shipping Next.js, NestJS or Django every week, that do-it-yourself part grows with every project.

2. Resource isolation between customers

HestiaCP 1.9.0 added per-user CPU and RAM limits through cgroups. The changelog notes that at the time they applied to a user's SSH processes but not yet to PHP-FPM, which is where websites spend most of their resources. Check the status in the version you run. If you sell shared hosting this matters: can one hacked site or broken plugin slow down the whole server?

3. Privilege architecture

Since 1.9.0, HestiaCP's web interface runs as its own hestiaweb user rather than the admin user and performs system actions through sudo, a meaningful improvement. Like every major panel, HestiaCP has also shipped fixes for privilege-escalation bugs (1.9.9 is one example in the changelog). That does not make it unsafe; it means you must update promptly, and that it is worth asking what an attacker gets if the panel has a bug. We explain how to ask that question in why a hosting panel should never run as root.

4. Hosting-business tooling

If you sell hosting you need reseller accounts, billing modules, a provisioning API and encrypted backups that leave the server. List what you need and check whether your current panel covers it before changing anything.

HestiaCP vs ZoPanel at a glance

HestiaCP ZoPanel
Licence, price GPLv3, free Free: 3 accounts, 10 websites, 10 databases. Pro: USD 49/year, unlimited websites on one server
Operating systems Debian 12/13, Ubuntu 22.04/24.04/26.04 Debian 12/13, Ubuntu 22.04/24.04/26.04
CPU architecture AMD64, ARM64 x86-64, ARM64
Web server Apache + nginx proxy, or nginx nginx, optional Apache mode for .htaccess
PHP Multiple versions (MultiPHP) 7.4 to 8.4, per website
Node.js, Python, Go Manual, via proxy templates Git deploy, framework detection, blue/green releases, rollback
Docker apps Not in the panel App Store (n8n, Nextcloud, Open WebUI…) with user namespaces
Mail Exim, Dovecot, SpamAssassin, ClamAV, Roundcube Postfix, Dovecot, Rspamd, webmail, CalDAV/CardDAV
DNS BIND, clustering PowerDNS, DNSSEC, clustering
Resource limits Per-user cgroups (since 1.9.0) Per-account systemd slice covering PHP-FPM, cron and apps
WAF, malware scan Not built in ModSecurity + OWASP CRS, weekly malware scan
Off-site backups rclone, restic Incremental restic, encrypted S3 backups (Pro)
Resellers, billing Check against your needs Resellers and WHMCS, Blesta, HostBill and Paymenter modules (Pro)
Migrating in - Imports cPanel and DirectAdmin backups; no automatic HestiaCP import

Read the last rows carefully. HestiaCP is free for any number of websites; ZoPanel is free up to 3 hosting accounts, 10 websites and 10 databases; the Free plan has most features, but reseller accounts, remote S3 backups and API tokens (and so WHMCS and the provisioning API) need Pro, and S3 storage is limited to one bucket. If you run 50 personal PHP sites and need nothing else, HestiaCP costs less. And ZoPanel cannot read HestiaCP backups, so moving is a manual, site-by-site job.

What changes when you move to ZoPanel

Rather than a feature list, these are the differences you notice first:

  • Apps are first-class. A Git deploy website detects Next.js, Nuxt, NestJS, Django, FastAPI, Laravel, Go and more, builds inside the account's sandbox, switches traffic only after the new release passes a health check, and keeps 5 releases for rollback. See Git deploy.
  • Per-account isolation. Each account is its own Linux user in a systemd slice with CPU, memory and process limits from its package, and its PHP-FPM pools, cron jobs and apps all run inside it. See Security.
  • The panel does not run as root. The web interface runs as an unprivileged user; a separate root agent accepts only a fixed list of actions and checks every parameter again.
  • High density on small servers. PHP for quiet sites sleeps, nginx page cache serves WordPress, and idle memory is compressed with zswap. On a 4 GB Ubuntu VPS we measured 100 WordPress sites without page cache and 250 with it, alongside 30 other apps; the method is in how many WordPress sites a 4 GB VPS can host.

ZoPanel's limits, plainly: it is newer, with a smaller ecosystem and community than HestiaCP; it supports Ubuntu 22.04/24.04/26.04 and Debian 12/13 only; it does not run on Windows; and it also needs a fresh server.

When should you stay on HestiaCP?

  • You only run PHP sites (WordPress, Laravel, Joomla) and do not need Node.js or Docker in the panel.
  • You want unlimited websites without paying.
  • You know HestiaCP's workflow and your servers are stable.
  • You need Ubuntu 26.04 today.

When is it worth switching?

  • You deploy Node.js or Python apps often and want to stop hand-wiring PM2, proxy templates and certificates.
  • You want n8n, Nextcloud, Uptime Kuma or Open WebUI next to your websites without running Docker by hand.
  • You sell hosting and need resource limits that cover PHP, resellers, billing modules and encrypted S3 backups.

If you are weighing several options, our roundup of the best free hosting control panels covers more of them.

How to migrate from HestiaCP to ZoPanel

Because there is no automatic importer, move one website at a time. Do not install ZoPanel over a HestiaCP server: ZoPanel needs a fresh server, and keeping the old one running during the move means you can always go back.

Step 1: Prepare the new server

  1. Create a new VPS with Ubuntu 24.04 or Debian 12/13.
  2. Install ZoPanel:
curl -fsSL https://get.zopanel.net | sudo bash
  1. A day before the move, lower the TTL of the domain's DNS records to 300 seconds so the IP change takes effect quickly.

Step 2: Copy the website files

In ZoPanel, create a website with the same domain (an empty PHP or WordPress site). Then pull the files from the HestiaCP server over SSH. On HestiaCP they usually live in /home/<user>/web/<domain>/public_html:

rsync -avz --progress root@OLD-IP:/home/<user>/web/example.com/public_html/ \
  /home/<account>/domains/example.com/public_html/
chown -R <account>:<account> /home/<account>/domains/example.com/public_html

The website's path in ZoPanel is shown on its page; double-check it before running the command.

Step 3: Move the database

On the old server, export the database:

mariadb-dump --single-transaction --routines --triggers db_name | gzip > db_name.sql.gz

In ZoPanel, create the new database and user, then load the file with that database's Import / restore (.sql or .sql.gz). Update the database name, user and password in wp-config.php or the app's .env.

Step 4: Move email, if you host it

Enable email for the domain in ZoPanel, recreate the mailboxes, and copy the messages with an IMAP-to-IMAP tool such as imapsync. After switching MX, run one more sync to pick up mail that arrived during the move.

Step 5: Test, then switch DNS

Test the site on the new server by editing the hosts file on your computer, then change the A record (and MX, for mail) to the new IP. ZoPanel issues the SSL certificate automatically once the domain resolves to it. Keep the HestiaCP server for a few days before deleting it.

Conclusion

HestiaCP is a dependable free panel, and for traditional PHP hosting it still does the job very well. A HestiaCP alternative is only worth it when you hit one of its real limits: non-PHP apps, Docker, resource isolation or business tooling. The best way to decide is to test: install ZoPanel's Free plan on a spare VPS, move two or three real sites with the steps above, and compare it with your current HestiaCP server.

Frequently asked questions

Is HestiaCP free?

Yes. HestiaCP is open-source software under the GPLv3 licence, with no limit on websites or accounts. You pay only for the server and your own time to run it.

Can HestiaCP run Node.js apps?

It can, but not from the panel out of the box. The community guide has you install Node.js, run the process with PM2 or systemd and pick a proxy template for the domain. There is no built-in Git deploy, health check or rollback.

Can ZoPanel import HestiaCP backups?

Not at the moment. ZoPanel's importer reads cPanel and DirectAdmin backups. From HestiaCP, move each site by copying files with rsync, exporting and importing the database, syncing mail over IMAP, and switching DNS.

Can I install ZoPanel on a server that already runs HestiaCP?

You should not. ZoPanel needs a fresh server; its installer stops when it finds an Apache it did not install (HestiaCP installs Apache by default), and two panels managing nginx, PHP and mail on one machine would overwrite each other's configuration. Use a new VPS and keep the old one until the move is done.

HestiaCP or ZoPanel for personal WordPress sites?

For a handful of WordPress sites with nothing but PHP, both fit. HestiaCP is free without limits; ZoPanel is free up to 10 websites and adds safe updates with automatic rollback, staging and a page cache that purges itself when content changes. Try both on a test VPS.