Установка
Эта страница проведёт вас через развёртывание PWA Hub на собственном сервере - от чистой машины до рабочей панели. Установщик берёт на себя всю рутину: ставит всё необходимое, создаёт служебного пользователя, раскладывает файлы, генерирует пароли и запускает систему. Понадобится лицензионный ключ - установщик спросит его первым делом. Потом останется открыть доступ через Cloudflare и указать домен панели при первом входе.
Домен панели задаётся при активации лицензии
Сразу после установки панель открывается по IP сервера. Домен, на котором она будет жить дальше, вы укажете на экране лицензии - любой хост, DNS которого ведёт через Cloudflare на ваш сервер: поддомен вашего домена (например, admin.<ваш-домен>) или отдельный домен. После активации панель отвечает только на этом домене, а вход по IP закрывается. DNS-запись для него подготовьте заранее (см. шаг 1 ниже и раздел «Домены и Cloudflare»).
Весь процесс занимает несколько минут. Ниже - по шагам, с готовыми командами: копируйте и вставляйте.
Установка одной командой
Подключитесь к серверу по SSH и запустите:
curl -fsSL https://install.pwahub.org/bootstrap.sh | sudo bashПервым делом установщик спросит лицензионный ключ:
License key (XXXX-XXXX-XXXX-XXXX), then press Enter:
>Вставьте ключ и нажмите Enter. Ключ сразу проверяется: если он неверный или лицензия не активна, установка остановится с подсказкой - ничего на сервере ещё не изменено. Дальше скрипт проверит сервер и развернёт всё необходимое. За ходом установки можно следить прямо в терминале - каждый шаг отмечается зелёной галочкой.
Установка без вопросов
Ключ можно передать сразу в команде - удобно для скриптов и повторной установки:
curl -fsSL https://install.pwahub.org/bootstrap.sh | sudo bash -s -- --license XXXX-XXXX-XXXX-XXXXПовторный запуск на уже установленном сервере принимает тот же ключ - данные и пароли при этом сохраняются. Другой ключ подойдёт, только если прежняя лицензия больше не активна; рабочую лицензию меняют в панели, в разделе «Лицензия».
Требования к серверу
Перед установкой убедитесь, что сервер подходит: чистый VPS на Ubuntu 20.04+ или Debian 12-13, от 2 vCPU, 4 ГБ RAM и 20 ГБ диска, доступ root и свободные порты 80 и 443. Установщик проверит всё сам в самом начале и остановится, если что-то не так. Полный чек-лист - в разделе «Требования и подготовка».
Чистый сервер - лучший старт
Разворачивайте PWA Hub на свежей машине, где ещё ничего не висит на портах 80 и 443. Так установщик отработает без конфликтов, и система сразу поднимется как надо.
Что делает установщик
Коротко: установщик проверяет сервер, ставит всё необходимое, создаёт служебного пользователя pwa и раскладывает файлы в /opt/pwa, генерирует .env с паролями и самоподписанный SSL-сертификат под режим Cloudflare Full, затем запускает систему и показывает итоговую сводку с адресом панели.
Весь вывод дублируется в лог-файл, так что ничего не потеряется, даже если вы закрыли терминал:
cat /var/log/pwa-bootstrap.logГде взять пароли
В самом конце установщик покажет блок Generated Configuration - адрес системы и пароль администратора. Выглядит он примерно так:
Generated Configuration:
APP_URL: http://203.0.113.10
Admin Password: xxxxxxxxxxxxxxxx
! IMPORTANT: Save the admin password!
All service credentials are stored in: /opt/pwa/.envНе успели скопировать? Ничего страшного - те же значения всегда можно посмотреть в двух местах:
cat /var/log/pwa-bootstrap.log
cat /opt/pwa/.envADMIN_PASSWORD - это пароль первого администратора с почтой [email protected], под которым вы войдёте в панель. Сохраните его сразу.
Сохраните пароль надёжно
Пароль администратора генерируется один раз при установке. Перепишите его в менеджер паролей или другое безопасное место - восстановить его можно только из .env на самом сервере, а туда после настройки вы вряд ли будете заглядывать каждый день.
Шаги после установки
Установщик разворачивает систему и запускает её автоматически - когда установка завершилась, стек уже работает. Остаётся один шаг: открыть к ней доступ через Cloudflare. Домен и лицензию вы укажете прямо в панели при первом входе - файлы на сервере править не нужно.
Подготовьте домен для панели
Решите, по какому адресу будет открываться панель: обычно это поддомен вашего домена вроде admin.<ваш-домен>, но подойдёт и любой другой хост, вплоть до отдельного домена. Ограничения два: хост должен обслуживаться Cloudflare и не совпадать с доменом какого-либо PWA.
В Cloudflare добавьте для этого хоста проксируемую A-запись, указывающую на IP вашего сервера (тот, на котором вы ставили PWA Hub - установщик показывает его в блоке Generated Configuration). Поля записи и порядок по шагам - в разделе «Домены и Cloudflare».

Запись нужна к моменту активации лицензии
Первый вход происходит по IP, поэтому без записи вы не застрянете. Но домен, который вы укажете на экране лицензии, должен уже резолвиться на сервер - иначе после активации панель не откроется ни по домену, ни по IP. Записи в Cloudflare применяются обычно за минуту. DNS для доменов ваших PWA система позже создаёт сама.
Первый вход
Откройте панель в браузере по IP сервера - https://<IP-сервера>/ (адрес показан в блоке Generated Configuration).
Подтвердите переход
Пока у панели нет домена, она работает по IP с самоподписанным сертификатом, и браузер предупредит, что подключение не защищено. Для первого входа это нормально - подтвердите переход:
- Chrome: на странице Your connection is not private («Подключение не защищено»,
NET::ERR_CERT_AUTHORITY_INVALID) нажмите Advanced («Дополнительные настройки»), затем ссылку Proceed to <IP> (unsafe) («Перейти на сайт <IP> (небезопасно)»). - Safari: нажмите Show Details («Показать подробности»), затем visit this website («посетить этот веб-сайт») и подтвердите.
- Firefox: нажмите Advanced… («Дополнительно…»), затем Accept the Risk and Continue («Принять риск и продолжить»).


Предупреждение больше не появится, когда панель переедет на домен: там соединение защищает Cloudflare.
Войдите под первым администратором:
- Почта:
[email protected] - Пароль: значение
ADMIN_PASSWORDиз блока Generated Configuration.
После входа вы попадёте на экран лицензии: ключ из установки там уже подставлен - укажите домен панели в строке Panel domain и нажмите Update License (подробно - в разделе «Лицензия»). Панель переедет на этот домен, а вход по IP закроется - дальше открывайте её только по домену.
Панель не открывается по домену?
Почти всегда дело в DNS-записи этого хоста в Cloudflare (см. выше). Проверьте, что запись создана, указывает на IP вашего сервера и проксируется (оранжевое облако). Записи применяются за минуту-другую. Ответ 403 при заходе по IP после активации - не ошибка: вход по IP закрыт намеренно.
Сразу смените пароль
ADMIN_PASSWORD сгенерирован автоматически и известен всем, кто видел лог установки. После первого входа откройте страницу профиля (меню в правом верхнем углу → Profile) и задайте свой пароль в карточке Change password - так панель будет под вашим полным контролем.
Активируйте лицензию
При первом входе, пока лицензия не активирована, откроется экран лицензии. Ключ, который вы ввели при установке, уже стоит в поле - укажите домен и обновите лицензию, панель разблокируется. Домен привязывается к лицензии и применяется сразу, без правки .env и перезапуска. Как выглядит этот экран - в разделе «Вход в систему», подробнее об активации - в разделе «Лицензия».
Обновление
Держать PWA Hub в актуальном состоянии просто - всё делается прямо из панели, без SSH. Как обновлять систему и обслуживать сервер, описано в разделе «Обслуживание сервера».