ArcPanel is a hard fork of HestiaCP 1.10.5. It keeps HestiaCP's design — a command line of v-* commands that does all the work, users with their own web, mail and DNS — and adds resellers, Node.js and Docker apps, a new panel and REST API v2. User backups from HestiaCP restore on ArcPanel, so moving a server means installing ArcPanel on a new one and restoring the accounts.
Why there is no in-place upgrade
ArcPanel renames everything HestiaCP installed: paths, services, packages, system users. Both stacks use the same ports and services, and ArcPanel keeps no compatibility layer, so the installer refuses a server with HestiaCP on it. A new server also means you can test everything before you switch DNS.
What changed
| HestiaCP | ArcPanel |
|---|---|
/usr/local/hestia |
/usr/local/arcpanel |
/etc/hestiacp/hestia.conf |
/etc/arcpanel/arcpanel.conf |
/var/log/hestia |
/var/log/arcpanel |
$HESTIA |
$ARCPANEL |
hestia.service |
arcpanel.service |
hestia, hestia-nginx, hestia-php packages |
arcpanel, arcpanel-nginx, arcpanel-php |
hestiaweb, hestiamail, hestia-users |
arcpanelweb, arcpanelmail, arcpanel-users |
v-update-sys-hestia and other *-hestia-* commands |
v-update-sys-arcpanel, *-arcpanel-* |
The PHP panel in web/ |
A new panel; old page addresses redirect |
| API v1 on | REST API v2 on, API v1 off by default |
All other v-* commands keep their names and arguments. The panel is still on port 8083.
The nine renamed commands are v-add-cron-arcpanel-autoupdate, v-delete-cron-arcpanel-autoupdate, v-change-sys-arcpanel-ssl, v-list-sys-arcpanel-ssl, v-list-sys-arcpanel-autoupdate, v-list-sys-arcpanel-updates, v-update-sys-arcpanel, v-update-sys-arcpanel-all and v-update-sys-arcpanel-git.
Plan the move
- Set up the new server. Install ArcPanel with the same services as the old server: if HestiaCP had PostgreSQL or several PHP versions, choose them too (Installation). Install every PHP version your sites use; ArcPanel offers PHP 7.4 to 8.5, so sites on older PHP must be upgraded first.
- Recreate the packages with the same names, so that restored users keep their limits after you edit them.
- Lower the DNS TTL of the domains to 300 seconds a day before the move, so the switch spreads quickly.
Move each account
On the HestiaCP server, back up the user:
v-backup-user alice
ls /backup/alice.*.tar
Copy the archive to /backup on the ArcPanel server:
scp /backup/alice.2026-10-23_05-10-01.tar root@new.example.com:/backup/
On the ArcPanel server, restore it. Do not create the user first: the restore creates it from the archive, with its domains, mail, databases and cron jobs.
v-restore-user alice alice.2026-10-23_05-10-01.tar
ArcPanel recognises HestiaCP (and VestaCP) archives by themselves. A large account can take a while; the restore waits when the server is busy.
What the restore brings over
- the user, its password and settings;
- web domains with their files and SSL certificates;
- DNS zones with their records and DNSSEC keys;
- mail domains with DKIM keys, mailboxes, passwords and all mail;
- databases with their users and passwords;
- cron jobs and the other folders of the home directory.
What it adjusts
- A web or PHP template that does not exist on ArcPanel becomes
default. Check sites that used custom templates. - An IP address the new server does not have is replaced by the user's address.
- Cron jobs of the administrator that call
/usr/local/hestiaare rewritten to/usr/local/arcpanel; jobs of other users are not. Check them with Cron jobs.
Set up again by hand
These belong to the server, not to a user, and are not in user backups:
- server settings, extra IP addresses and the host name;
- packages (above) and custom web templates: copy them to
/usr/local/arcpanel/data/templates/under the same names, then rebuild the domains withv-rebuild-web-domains; - firewall rules;
- API keys: create new access keys in the panel;
- DNS cluster hosts.
Switch over
- Check each site on the new server before you switch, for example with an entry in your computer's
hostsfile. - Point the domains to the new server: change the name servers' glue records, or the A records at your DNS provider.
- Back up and restore the mail once more right after the switch, so that mail received during the change is not lost.
- Keep the old server for a week before you cancel it.
Scripts and integrations
Scripts that call the panel need these changes:
- paths:
/usr/local/hestiato/usr/local/arcpanel,$HESTIAto$ARCPANEL; - the nine renamed commands above;
- API v1 clients: turn API v1 on with
v-change-sys-api enable v1, and read theArcPanel-Exit-Codeheader instead ofHestia-Exit-Code. Better, move them to REST API v2, which has access keys with permission sets and dry runs.
Billing modules made for HestiaCP, such as those for WHMCS and Blesta, do not work with ArcPanel.
What you get
Besides what HestiaCP had: resellers, Node.js apps and app processes, a store of Docker apps, a port registry, a new panel with a new file manager, REST API v2 with the arc command line and agent skills, a secret store, restic snapshots with a file browser, a PHP manager with PHP-FPM profiles, malware scans, and webmail and phpMyAdmin on their own ports.
Need a hand? Our engineers move HestiaCP servers to ArcPanel as a support service.