Installing MaxPanel

The supported install path is a fresh Ubuntu 24.04 LTS VPS.

Prerequisites

  • Ubuntu 24.04 LTS, 64-bit. Other distros are not supported.
  • 2 vCPU / 4 GB RAM / 40 GB disk minimum.
  • /home mounted on XFS with the pquota option. Per-user disk quotas don't work without it.
  • Root SSH access.
  • A FQDN you can point at the box.

One-line install

ssh root@your-vps
curl -fsSL https://get.maxpanel.cenmax.in | sh

The package's postinst script will:

  1. Create the maxpanel system user + maxpanel-users group.
  2. Lay down /etc/maxpanel/{node.yaml,config.yaml} with sane defaults.
  3. Render /etc/nginx/sites-available/maxpanel.conf from the bundled template.
  4. Enable + start maxpanel-agent and maxpanel.
  5. Print a summary with the next three things to do.

After install

# 1. Get a TLS cert for the panel
apt install -y certbot python3-certbot-nginx
certbot --nginx -d $(hostname -f)

# 2. Enter your license token (from the customer portal)
maxpanelctl license enter <token>

# 3. Create the first admin account
maxpanelctl admin create --username admin

Then open https://<your-host>/ and log in. That's it.

Mail node

If you're running a separate mail node, install the maxpanel-mail package on a second box:

ssh root@your-mail-vps
curl -fsSL https://get.maxpanel.cenmax.in | MAXPANEL_FLAVOR=mail sh

The mail-node postinst prints a 6-digit pairing PIN. On your main node, go to Nodes → Pair a mail node, enter the mail-node host and the PIN. Done.

See Mail nodes for the why-and-when of running one.

Common postinst hiccups

"WARNING — /home is not mounted with the 'pquota' option." Account creation will fail. Edit /etc/fstab, add pquota to the /home mount options, reboot or remount.

Panel fails to start with "license token not found":

maxpanelctl license enter <token>
systemctl restart maxpanel

nginx vhost missing: re-render manually —

sudo cp /usr/share/maxpanel/nginx/panel.conf.template \
        /etc/nginx/sites-available/maxpanel.conf
# substitute {{PANEL_FQDN}} etc., then:
nginx -t && systemctl reload nginx