SectionInstall
DocumentationGetting started

Install

curl -fsSL https://monopanel.app/install.sh | sh
mp setup

The 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.

Page source on GitHub