Мне было грустно без Modhost и я сделал Meowbox

Начнём сразу с магии.
Берёшь чистый VPS на Ubuntu, запускаешь одну команду:
curl -fsSL https://raw.githubusercontent.com/gvozdb/meowbox/main/bootstrap.sh | sudo PANEL_PORT=18443 bashИ у тебя настроенный сервер под MODX со всеми убранствами.Больше не надо:
– мучаться с терминалом,
– настраивать сервер с нуля вручную,
– настраивать конфиги NGINX/PHP/MySQL/SSL/etc,
– настраивать бекапы,
– логи,
– мониторинг,
– уведомления в телеграм бота,
– итд,
– итп.
Всё это (и даже больше) теперь делает Meowbox.
MODX в центре
Панель в первую очередь заточена под MODX 3. Поддержка MODX Revo тоже есть, потому что старые проекты никуда не исчезли.
Тут и вход в админку одной кнопкой без ввода пароля (like-modhost), и апгрейд версии MODX в пару кликов (like-modhost), и другие мелочи. Автоматический деплой Modstore провайдера и выбор предустановленных компонентов подвезут позже.
В панели есть MODX Доктор.
Это диагностика типовых проблем MODX-сайта. Нажал кнопку, получил список того, что не так: права, кэш, оставленный setup, проблемы с путями и другие вещи, которые обычно ищутся руками. Нажал «Починить» – проблемы исчезли.
Список проверок будет пополняться. Идея простая: если проблема встречалась больше 1 раза, её надо уметь проверять кнопкой.
.
Adminer вместо PhpMyAdmin
Для работы с БД используется
Можно открыть базу без ручного ввода паролей. Нажал кнопку Adminer, и панель выдаёт одноразовый доступ.
.
Бэкапы через Restic
Бэкапы встроены в панель нормально, а не в виде «ну там где-то лежит архив, удачи».
Есть поддержка Restic. Можно хранить копии локально, в S3, на Yandex Disk или Cloud Mail.ru.
Восстановление тоже есть: полное или частичное. Можно не тащить весь сайт обратно, если нужен один файл или кусок данных.
Есть даже механизм сравнения между restic-снапшотами, а также между снапшотом и текущей версией файлов.
.
Nginx без боли
Meowbox генерирует nginx-конфиги сам.
Но есть важная деталь: конфиг сделан слоями. Панель управляет своими частями, а пользовательский кастомный блок живёт отдельно и не затирается при каждом изменении настроек.
То есть можно править специфичные правила сайта и не бояться, что панель потом всё перепишет поверх.
Для MODX это особенно полезно. Friendly URLs, защита core, отдельные пути manager и connectors, лимиты, gzip, rate limit, SSL, редиректы, всё должно жить вместе и не превращаться в кашу. Поэтому CMS-специфичная конфигурация доступна к редактированию напрямую, а остальным рулит панель через настройки в Web UI.
.
Контроль над сервером
В панели есть мониторинг, логи, cron-задачи, SSL, PHP-версии, базы, файлы, firewall, DNS доменов (через API Yandex 360 или Cloudflare) и что-то там ещё.
Архитектурно устроено так: API хранит состояние и принимает решения, а системные команды выполняет агент на сервере. Это позволяет держать опасные операции в одном месте и не размазывать прямой доступ к ОС по всему проекту.
Сама панель хранит данные в SQLite файле. Для маленькой self-hosted панели это проще всего: меньше жрёт память, проще бэкапить, проще переносить.
.
Что дальше
Сейчас Meowbox больше всего полезен для MODX.
Но в будущем я хочу добавить удобное управление Node.js сайтами и приложениями: деплой, PM2-процессы, возможно Docker-контейнеры, нормальную поддержку CI/CD.
Ну и, конечно, AI-админа для самых рискованных. Чтобы можно было написать «почини сайт», а он одной командой rm -rf / избавил вас от головной боли.
.
Статус
Meowbox сейчас в разработке.
Это значит, что баги будут точно! Некоторые места ещё будут допиливаться. Часть функций будет меняться. Что-то будет ломаться, чиниться и переписываться по мере боевого использования.
Я делаю панель под свои задачи, в режиме реальной обкатки.
.
P.S.
Используя Meowbox, вы полностью берёте на себя ответственность за свои VPS, сайты, базы и данные.
Панель помогает администрировать сервер, но не отменяет бэкапы, голову и осторожность. Пока проект в активной разработке, это особенно важно.
Ссылка на репозиторий: github.com/gvozdb/meowbox
Поблагодарить автора
Отправить деньги
Комментарии: 7
Звучит вкусно.
А почему такое забавное название?
Сайты, как котики. 😹
Концептуальненько
Привет! Уже года 3 сижу на ISP Manager за который плачу и который особо не нужен, просто в какой-то момент поставил, а потом научившись всё че угодно просто было лень переносить сайты оттуда. Твоё решение после прочтения так понравилось что пошел ставить.
Из того что сразу бросается в глаза, странно что imagick который по сути около обязательный для всех сайтов на MODX надо устанавливать дополнительно на PHP
По поводу PHP, стоят от 8.0 и выше, других выбрать нельзя, как поставить на сервер и увидит ли панель не до конца ясно, однако при создании сайта могу поставить 7.4 (будет ошибка и не создаст), тут я бы просто предложил иметь возможность установить 7.4 из выпадающего списка в списке PHP
Из того что сразу бросается в глаза, странно что imagick который по сути около обязательный для всех сайтов на MODX надо устанавливать дополнительно на PHP
По поводу PHP, стоят от 8.0 и выше, других выбрать нельзя, как поставить на сервер и увидит ли панель не до конца ясно, однако при создании сайта могу поставить 7.4 (будет ошибка и не создаст), тут я бы просто предложил иметь возможность установить 7.4 из выпадающего списка в списке PHP
Доп боль с текущими блокировками, на убунту не ставится php7.4 из за того что ppa.launchpadcontent.net/ тупо недоступен) Полагаю что панель, возможно, пыталась сама поставить 7.4 но из за ошибки установки просто скипнула. Тогда мой коммент не имеет смысла
PHP версии можно установить от 7.1 до 8.4 (на странице /php). Там же поставить доп extensions, тоже буквально через модальное окно:

Откровенно скажу, мне не особо требуется на моих сайтах Imagick, поэтому я его не добавлял в список поставляемых расширений. Хватало фолбэка на GD… Но я добавлю в новой версии Imagick стандартом, а также создам миграцию при апгрейде панельки.

Откровенно скажу, мне не особо требуется на моих сайтах Imagick, поэтому я его не добавлял в список поставляемых расширений. Хватало фолбэка на GD… Но я добавлю в новой версии Imagick стандартом, а также создам миграцию при апгрейде панельки.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.