SectionInstall
Install
curl -fsSL https://monopanel.app/install.sh | sh
mp setupThe address leads to packaging/install.sh in this repository.
The script detects the OS and architecture, downloads the latest release package,
checks it against the published checksums and installs it. You can also do it by
hand — .deb and .rpm for amd64 and arm64 are attached to every
release.
mp setup creates the service user, the directories, the database, a self-signed
certificate and the administrator account, then prints the panel's address and the
password. The panel updates from the releases of the repository the package was built
from: mp update shows it as built-in, and only a fork or a private repository needs
the setting changed.
The script does not use the GitHub API: the latest tag comes from the /releases/latest
redirect and the files from their plain download links, so the anonymous API quota
(60 requests an hour per address) cannot block an install. The panel itself falls back
to the same links when it checks for updates and the quota is exhausted.
Requires root, systemd and one of: Debian 12/13, Ubuntu 22.04/24.04/26.04,
AlmaLinux, Rocky Linux or Oracle Linux 9/10. The whole matrix runs on a
testbed: installing the panel, nginx, PHP and Percona and the
e2e scenario pass on all eleven.
On EL, SELinux stays enforcing — the panel sets up the file contexts, booleans and a
small policy module of its own that a hosting server needs. Ubuntu 26.04 has no ppa:ondrej/php builds yet, so PHP 8.5
comes from Ubuntu itself there; the panel picks the PPA up on its own once it exists.