KyPanelDocs

Getting started

Installation

Install KyPanel with one command.

Install

Log in to the new server as root and run:

curl -fsSL https://updates.kypanel.com/install.sh | bash

The installer downloads the current release, checks its signature and checksum, updates the operating system, installs and configures every service, opens the firewall and prints the first login:

[kypanel] ready: https://server1.example.com:7711  (version 1.0.0)

  First panel login
  user:     root
  password: 9f3Kq…
  Save this password now: it will not be shown again.

It takes 10 to 25 minutes, depending on the server and the mirrors. A first install on AlmaLinux/Rocky/CloudLinux 8 stops once to reboot into cgroups v2; reboot and run the same command again.

Options

Pass options after bash -s --:

curl -fsSL https://updates.kypanel.com/install.sh | bash -s -- --hostname server1.example.com --channel stable
OptionMeaning
--hostname NAMEThe server's hostname (full domain name). Default: the current hostname.
--channel NAMERelease channel: stable (default) or edge. See updates.
--role ROLEWhat this server does: all (default), web, mail or database. See below.
--node-host NAMEFor a node: the address the panel reaches it at (default: the hostname).
--forceInstall on a system that isn't on the supported list.

Roles

RoleRuns
allThe panel and every service: web, PHP, mail, DNS, databases, FTP. The usual choice.
webThe panel, the sites, DNS and FTP. Mailboxes and databases live on nodes; this server only sends mail.
mailA node with mailboxes only (Exim, Dovecot, Rspamd), managed by a panel server.
databaseA node with MariaDB only, managed by a panel server.

A node prints a pairing code at the end of its install. Paste it in Ky Admin › Server Configuration › Link Server Nodes. See nodes.

The role is kept in /etc/kypanel/role. Changing it later needs a reinstall.

Run it again

The installer is idempotent: running it again updates binaries and configuration without touching accounts, mail or databases. Updates use the same installer, so you rarely need to.

What gets installed

ServiceSoftware
Webnginx in front of Apache, PHP-FPM per account
PHP8.1 to 8.5 side by side (Remi on AlmaLinux/Rocky/CloudLinux, the ondrej PPA on Ubuntu)
MailExim, Dovecot 2.4 with Sieve, Rspamd, Roundcube webmail
DNSPowerDNS (authoritative)
DatabasesMariaDB 11.8 LTS, phpMyAdmin
FTPPure-FTPd with TLS
Firewallfirewalld (AlmaLinux/Rocky/CloudLinux) or ufw (Ubuntu)

The panel itself lives in /usr/local/kypanel, its data in /var/lib/kypanel and its configuration in /etc/kypanel. See paths.

Lost the first password?

On the server, as root:

ky admin reset-root

It prints a new password for the panel's root user and asks you to change it at the next login.