# System requirements

> What ZoPanel needs before you install: a fresh Ubuntu or Debian server, 1 GB of RAM or more, root access, a few open ports and a hostname.

Source: https://zopanel.net/docs/requirements  
Updated: 2026-10-07

ZoPanel installs on a **fresh** Linux server: one without another control panel or web server already configured. This page lists what to prepare before you run the installer, so the installation goes through in one pass.

## Operating systems

| System | Versions | Notes |
| --- | --- | --- |
| Ubuntu | 22.04 LTS, 24.04 LTS | On 22.04 the installer adds Ubuntu's 6.8 HWE kernel |
| Debian | 12, 13 | On 12 the 6.12 backports kernel is optional |

Both **x86-64 (amd64)** and **ARM64 (aarch64)** are supported. The installer stops on any other system or architecture.

A kernel of Linux 6.8 or newer lets ZoPanel compress customers' idle memory in RAM without ever writing it to disk. Ubuntu 24.04 and Debian 13 already have one; see [Install ZoPanel](/docs/install) for how the installer handles Ubuntu 22.04 and Debian 12, and [PHP performance](/docs/php-performance) for what the feature does.

## Memory and CPU

| Use | RAM |
| --- | --- |
| Trying ZoPanel | 1 GB |
| Small production server | 2 GB or more |

The installer warns when the server has less than about 1 GB, but continues. ZoPanel sizes itself to the machine:

- MariaDB's buffer pool is set to 20% of RAM.
- On servers with less than 4 GB of RAM and no swap, the installer creates a swap file of 1 to 4 GB.
- The memory customers' websites and apps may use together is planned from the server's RAM and re-planned every 10 minutes.

### Measured capacity

These figures were measured on test servers. Your results depend on the sites you host.

| Server | WordPress sites without page cache | WordPress sites with page cache |
| --- | --- | --- |
| Ubuntu 24.04, 4 GB RAM, 4 vCPU | 100 (plus 30 apps) | 250 (plus 30 apps) |
| Debian 12, 3 GB RAM | 50 (plus 30 apps) | 200 (plus 30 apps) |

After a heavy overload, these servers went back to normal within 2 to 5 minutes once the load stopped.

## Disk

The installer does not enforce a minimum disk size. Plan for:

- the system, ZoPanel, PHP, MariaDB and the optional components you install;
- a swap file of 1 to 4 GB on servers under 4 GB of RAM;
- your customers' websites, databases and mail;
- local backups, which are stored on the same server unless you also send them to S3 storage.

The installer turns on disk quotas so each package's disk and file (inode) limits are enforced by the kernel. On most filesystems this works at once; on XFS it takes effect after the next restart. If quotas cannot be enabled, usage is still measured but not enforced.

## A fresh server

Use a newly installed server. The installer refuses to continue when it finds:

- an Apache web server it did not install itself;
- cPanel, DirectAdmin or aaPanel.

If you pass `--force`, the installer continues anyway, at your own risk. Inside a container, the host's kernel is used, so the installer skips the kernel upgrade.

## Root access

Run the installer as **root** or with `sudo`. ZoPanel itself runs as an unprivileged user (`zopanel`), with a separate privileged agent for system changes.

## Network and ports

The installer enables the UFW firewall and opens:

| Port | Used for |
| --- | --- |
| Your SSH port (detected, usually 22) | SSH and SFTP |
| 80/tcp | HTTP and Let's Encrypt validation |
| 443/tcp | HTTPS websites |
| 8888/tcp | The ZoPanel web interface |

If your provider also has a cloud firewall or security group, open the same ports there.

Optional components open their own ports in UFW when you install them:

| Component | Ports |
| --- | --- |
| Mail server | 25, 465, 587, 143, 993, 110, 995 |
| Webmail | 2096 |
| Calendars & contacts (CalDAV/CardDAV) | 2080 |
| DNS server | 53 (TCP and UDP) |
| FTP server | 21 and passive ports 30000-30100 |
| Adminer | 8889 |

The server also needs outbound HTTPS to download ZoPanel, system packages and PHP. If you plan to run mail, check that your provider allows outbound port 25.

## Hostname and DNS

ZoPanel works on the server's IP address straight after installation (`https://YOUR-IP:8888`, with a self-signed certificate). For production, prepare:

- **A hostname** for the server, for example `srv1.example.com`. Pass it with `--hostname`.
- **A panel domain**, for example `panel.example.com`, with an A record pointing to the server. You set it later in **Settings** to get a trusted Let's Encrypt certificate for the panel.
- **A mail hostname** such as `mail.example.com`, if you will host email. Set its reverse DNS (PTR) at your VPS provider for good deliverability.
- **Nameservers** such as `ns1.example.com` and `ns2.example.com`, with glue records at your registrar, if you will host DNS zones.

## Checklist

1. Fresh Ubuntu 22.04/24.04 or Debian 12/13, amd64 or arm64.
2. At least 1 GB of RAM (2 GB or more for production).
3. Root or sudo access over SSH.
4. Ports for SSH, 80, 443 and 8888 open in any provider firewall.
5. A hostname and, ideally, a panel domain pointing to the server.

Next: [Install ZoPanel](/docs/install).
