Установка
Установка Hostpanel
Одна команда на Linux-сервере с Docker. Установщик сам настроит HTTPS.
Перед началом
- Linux-сервер с установленным и запущенным Docker и плагином Compose v2.
- Два разных имени хоста, указывающих на сервер: одно для клиентского портала, другое для панели администратора.
- Адрес электронной почты для учётной записи администратора и сертификата Let's Encrypt.
- Свободные и доступные порты 80 и 443, если вы не устанавливаете без TLS.
Запустите установщик
curl -fsSL https://raw.githubusercontent.com/innovayse/hostpanel/main/install.sh | bashУстановщик проверяет наличие docker, docker compose, curl и openssl и называет всё, чего не хватает.
Шаг за шагом
От пустого сервера до первого входа
Одни и те же пять шагов при каждой установке.
Настройте DNS
Направьте оба имени хоста на ваш сервер и дождитесь обновления записей.
Запустите установщик
Вставьте команду на сервере. Она скачает три файла в /opt/hostpanel.
Ответьте на три вопроса
Домен портала, домен панели администратора и почта администратора, она же контакт для сертификата.
Дождитесь запуска
Установщик загрузит образы, запустит всё и до пяти минут будет ждать проверки работоспособности.
Получите роль администратора
Откройте панель администратора, создайте аккаунт и вставьте одноразовый токен настройки.
Затем настройте почту
Почтовый сервер установщик оставляет пустым намеренно. Пока вы не укажете настоящий, письма подтверждения, сброса пароля и счетов не отправляются.
Справочник по настройке

Параметры установщика
Флаги и переменные
Передавайте флаги через конвейер, например bash -s -- --version 1.4.0, или задайте нужную переменную перед bash.
--dir или HOSTPANEL_DIR
Каталог установки. По умолчанию /opt/hostpanel.
--version или HOSTPANEL_VERSION
Устанавливаемый выпуск. По умолчанию последний.
--no-tls или HOSTPANEL_TLS=off
Отдавать обычный HTTP на порту 8080 за вашим TLS-прокси.
HOSTPANEL_NONINTERACTIVE=1
Пропустить вопросы. Сначала задайте HOSTPANEL_DOMAIN и HOSTPANEL_ADMIN_EMAIL.
За собственным прокси пересылайте оба имени хоста на порт 8080, сохраняйте исходный заголовок Host и добавляйте X-Forwarded-Proto: https, так как cookie входа требуют защищённого источника.
Поддержка в рабочем виде
Обновления, резервные копии и откат
Перед каждым обновлением делайте дамп базы данных. Миграции выполняются вперёд при запуске API и никогда назад.
Обновление
Запустите команду установки ещё раз. Существующий .env сохраняется.
Руководство по обновлениюРезервная копия
Храните .env вместе с каждым дампом базы. Без того же ключа шифрования восстановление не сможет прочитать сохранённые секреты.
Руководство по копированиюОткат
Если выпуск добавил миграцию, сначала восстановите дамп, затем запустите прежнюю версию.
Руководство по откатуЕсли что-то не так
Когда что-то не запускается
Сначала прочитайте журнал API. В нём названа настройка, которая не прошла проверку.
cd /opt/hostpanel && docker compose -f docker-compose.hub.yml logs hostpanel-apiAPI не запускается
Секрет всё ещё содержит заглушку, либо настройка шифрования почты не равна tls, ssl или none. В журнале назван ключ.
Сертификаты не выдаются
Оба имени хоста должны указывать на сервер до первого запроса. Проверьте через dig и запустите установщик снова.
Система не успела стать работоспособной
Установщик ждёт пять минут. Прочитайте журналы API и базы данных, там будет ошибка запуска.
Письма не приходят
Почтовый сервер пуст, пока вы не укажете его в .env. Укажите и снова выполните docker compose up -d.
Потерян токен настройки
Перезапустите API и возьмите новый токен из его журнала. Он печатается снова, пока настройка не завершена.
Вопросы и ответы
Вопросы об установке
Можно ли установить за собственным прокси?
Да. Используйте вариант без TLS и пересылайте оба имени хоста на порт 8080.
Зачем два имени хоста?
Панель администратора отдаётся из корневого пути, поэтому ей нужен отдельный хост.
Можно ли обойтись без скрипта?
Да. Скачайте три файла, заполните .env и запустите docker compose вручную. Шаги описаны в руководстве по установке.
Какие архитектуры процессора поддерживаются?
Готовые образы есть для amd64 и arm64.