Apache-2.0 Go · один бинарник

MonoPanel

Панель управления веб-сервером

Сайты, PHP, базы, TLS, почта, бэкапы, firewall и переезд между серверами — одним статическим бинарником, без рантайма и внешних зависимостей. Панель слушает свой порт и не зависит от системного nginx: если конфигурация сайта сломается, панель останется доступной и починит её.

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

Это packaging/install.sh из репозитория: определит ОС и архитектуру, скачает пакет последнего релиза, сверит контрольную сумму и поставит его. mp setup создаст администратора и напечатает адрес панели и пароль.

rootsystemdamd64 · arm64
$ mp stack install nginx$ mp stack install percona$ mp php install 8.4$ mp user add alex --generate --shell$ mp site add example.com --user alex --www --preset wordpress$ mp cms install example.com wordpress

Пресет настроит nginx и PHP под CMS, а её установщик панель пройдёт сама и один раз покажет доступы администратора.

$ mp mail install --hostname mail.example.com$ mp mail domain add example.com --user alex$ mp mail box add ivan@example.com --quota 2048$ mp mail domain dns example.com

mail domain dns покажет, что прописать в DNS — MX, SPF, DKIM, DMARC и PTR, — и проверит записи по публичным резолверам.

$ mp migrate plan --from fastpanel --source root@old.example.com --scope user:shop$ mp migrate run  --from fastpanel --source root@old.example.com --scope user:shop

plan ничего не меняет и показывает, что приедет и что мешает. Источник только читается, так что старый сервер остаётся запасным, пока DNS не переключён.

ОС в тестовой матрице11Debian · Ubuntu · Alma · Rocky · Oracle
Ветки PHP5.6–8.5параллельно, пул php-fpm на сайт
Рантайм на хосте0один статический Go-бинарник
Обновленияed25519подписанные пакеты и откат, если новая версия не ответит

Интерфейс

Светлая и тёмная тема, русский и английский, на телефоне — тоже. Снимок с примерного сервера: Ubuntu 24.04, сайты на example.com.

Все страницы
Дашборд MonoPanel: нагрузка, память, диск, сервисы, графики и диагностика Дашборд MonoPanel: нагрузка, память, диск, сервисы, графики и диагностика

Возможности

Всё проходит через один REST API и доступно в Web UI, CLI и TUI.

Сайты

nginx → php-fpm, nginx → Apache или прокси на свой backend. Установка и пресеты WordPress, Joomla, OpenCart и 1С-Битрикс.

mp site add

PHP 5.6–8.5

Несколько веток параллельно, свой php-fpm на каждую и пул на сайт. Любой параметр php.ini — для одного сайта или для всех сразу.

mp php install 8.4

Базы данных

Percona Server или MySQL 8.4 LTS: root по auth_socket, настройка под объём памяти, сгенерированные пароли. У каждого аккаунта — свой Valkey для кеша и PHP-сессий.

mp db create

TLS

Let’s Encrypt по HTTP-01 и DNS-01 для wildcard — Cloudflare, Hetzner, DigitalOcean и другие. Автопродление за 30 дней.

mp ssl issue

Почта

postfix, dovecot и opendkim: ящики с квотами, алиасы, DKIM и Roundcube. Панель покажет нужные DNS-записи и проверит их. Пока — Debian 12 и Ubuntu 22.04/24.04.

mp mail install

Firewall

nftables с policy drop и fail2ban с jail’ами sshd, nginx и панели. Правило, которое заперло бы вас самих, панель не примет.

mp firewall enable

Бэкапы

restic в local, SFTP, S3, B2 или REST: файлы, дампы MySQL и база панели по расписанию, восстановление рядом или на место.

mp backup run

Переезд

Аккаунт целиком — с другой MonoPanel, BitrixVM или FASTPANEL: сайты, базы, cron и сертификаты. Источник только читается.

mp migrate run

Web UI, CLI, TUI и API

Один REST API на всё: что можно сделать мышкой, можно сделать скриптом. TOTP 2FA, API-токены и webhooks.

mp

Как устроено

Один бинарник monopanel (он же mp) работает в четырёх ролях с разделением привилегий. Состояние живёт в SQLite.

РольПраваЗачем
apiпользователь monopanelHTTPS :8443, сокет для CLI, очередь задач
agentrootзакрытый набор типизированных операций, никаких строк с командами
helpersetuid, необратимый сброс правфайловые операции от имени клиента
fsopправа клиентасама файловая операция
Изменение сайта
запись в базу рендер шаблонов nginx -t · apachectl -t · php-fpm -t атомарная запись reload

Изменение — это не правка файла на диске, а запись в базу, из которой рендерятся конфиги. Любая неудача на этом пути откатывает весь набор файлов и возвращает текст ошибки.


Обновление панели

Панель сама находит новый релиз, скачивает пакет для своей ОС, проверяет подпись ed25519 и ставит его отдельным systemd-юнитом. Если новая версия не отвечает, возвращается прежний бинарник.

Где работает

Нужны root и systemd. Установка панели, nginx, PHP, Percona и сценарий e2e проходят на всех одиннадцати ОС тестовой площадки.

  • Debian 12
  • Debian 13
  • Ubuntu 22.04
  • Ubuntu 24.04
  • Ubuntu 26.04
  • AlmaLinux 9
  • AlmaLinux 10
  • Rocky Linux 9
  • Rocky Linux 10
  • Oracle Linux 9
  • Oracle Linux 10

На EL SELinux остаётся в enforcing — панель сама настраивает контексты и булевы под хостинг. Пакеты .deb и .rpm для amd64 и arm64.