---
title: Requirements for the NexCMP server
description: Hardware, operating system, network and DNS requirements for the server that runs NexCMP itself.
url: https://nexcmp.com/docs/getting-started/requirements/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# Requirements for the NexCMP server

This page covers the server that runs NexCMP. What your CloudStack, Proxmox VE or other infrastructure needs is in [Infrastructure requirements](https://nexcmp.com/docs/infrastructure/requirements/).

## Server

| Item | Requirement | Checked by the installer |
|---|---|---|
| Operating system | Ubuntu **22.04** or **24.04** | Yes — stops with an error on anything else |
| CPU architecture | x86_64 | Yes |
| Memory | 2 GB minimum (the installer refuses less than about 1.8 GB) | Yes |
| Free disk | 8 GB free on `/` minimum | Yes |
| Privileges | root (`sudo`) | Yes |
| Packages | `curl`, `ca-certificates`, `zstd`, `tar`, `openssl`, `python3`, `openssh-client` — installed automatically | Installed if missing |
| With HTTPS | `nginx` and `certbot` — installed automatically unless you pass `--no-nginx` | Installed if missing |

::: tip Sizing
A small installation (a few hundred customers) runs comfortably on 2 vCPU / 4 GB RAM. Disk use is dominated by the SQLite databases and the optional update and backup copies — plan 20 GB or more for production.
:::

## Network

| Direction | Port | Purpose |
|---|---|---|
| Inbound | 80/tcp | Let's Encrypt validation and redirect to HTTPS |
| Inbound | 443/tcp | Customer portal, admin console, API |
| Inbound | 3000/tcp | Setup wizard on first install and emergency access only — see [Installation](https://nexcmp.com/docs/getting-started/installation/#the-panel-port-3000) |
| Outbound | 443/tcp to `nexcmp.com` | License activation, daily license check, updates |
| Outbound | to your CloudStack API / Proxmox API | Provisioning and synchronisation |
| Outbound | 443/tcp to payment, e-mail and AI providers you enable | Stripe, PayPal, SMTP, AI provider and so on |

The server needs a **public IPv4 address** if you want Let's Encrypt to issue a certificate directly. If the domain is proxied by Cloudflare, see [DNS and Cloudflare](https://nexcmp.com/docs/getting-started/dns-and-cloudflare/).

## DNS

- One **main domain** (for example `cloud.example.com`) — the portal is `https://cloud.example.com/` and the admin console is `https://cloud.example.com/admin`.
- Optional: `admin.<domain>` and `partner.<domain>`. If those names resolve to the server (or to Cloudflare), the installer adds them to the certificate.
- The domain must match the one registered on your license.

## Not required on this server

NexCMP runs as an ordinary unprivileged service user (`nexcmp`). It does **not** need root at runtime, Docker, a separate database server, Redis, or any hypervisor software.
