Installation
One command on a clean server: the bootstrapper checks the machine and the key, downloads a signed build and installs the panel.
Requirements
- Ubuntu 22.04, 24.04, 26.04 or Debian 12, 13, x86_64, systemd, root access.
- At least 512 MB of memory and 8 GB free on
/. On a small machine the installer adds a swap file and tunes PostgreSQL down. - A clean server: if ISPmanager, Plesk, cPanel, CyberPanel, aaPanel, Hestia, Vesta or DirectAdmin is already there, the install stops.
- Outbound HTTPS to the license server. Inbound ports 80 and 443 for sites and certificates.
- For micro-VMs (Tier M and F in Pro and Host) —
/dev/kvm. Without it only Tier S containers run.
The command
The activation key arrives by email after a purchase or a trial start, and it is also in your account. As root:
bash <(curl -fsSL https://getultrapanel.com/install.sh) --key UPL-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Without --key the bootstrapper asks for it. Useful options:
| Option | What it does |
|---|---|
--domain panel.example.com | panel host name; the panel gets a Let's Encrypt certificate right away |
--email [email protected] | the first administrator login and certificate authority contact; asked for if missing |
--zfs-disk /dev/sdb | a dedicated disk for account data. Without it a 24 GB sparse file pool is used — fine for a trial |
--force-move | the key already runs on another server — move the license here |
--version 1.2.0 | a specific version instead of the latest stable |
--channel beta | release channel |
-y | no questions |
What happens
- Machine check: OS, memory, disk, other panels.
- Key check: the check character locally, then a request to the license server. That request does not take the license: an interrupted install binds nothing.
- Release manifest: file list and SHA-256 sums signed with the release key. Its public half is built into the bootstrapper, so a tampered build is refused.
- Resumable download with every file verified.
- Install from the prebuilt bundle: no compiler or npm on the server. At the end the panel activates the key — from then on the license is bound to this server.
The first administrator credentials are printed at the end and saved to /root/.ultrapanel-first-admin. Without --domain the panel listens on port 9443.
Key and license on the server
ultrapanel-ctl license # edition, term, last check-in ultrapanel-ctl license set-key UPL-… # change the key ultrapanel-ctl license refresh # contact the license server now ultrapanel-ctl license release # free the license before moving
The panel checks in every few hours and holds a signed lease for 14 days, so a short outage does not affect it.
Moving to another server
One key, one server. To install on a new machine, unbind the old one in your account (or run ultrapanel-ctl license release there), or install with --force-move. If the old server has been silent for more than three days, the license moves on its own. Up to three moves per 30 days.
Upgrades
ultrapanel-ctl upgrade
A new version arrives the same way as the first one: by key, with the signature checked. Sites keep running during the upgrade.
When the license expires
There is a grace week after the paid-until date. After that only management locks: no new accounts and no setting changes. Sites, mail, certificate renewals, backups and payments from your own customers keep working. Renewing in your account lifts the lock at the next check-in — or at once with the “Check now” button on the License screen.