Обслуживание сервера
Эта страница - для администратора. В повседневной работе сюда заглядывать не нужно: приложение обновляется из панели само. Здесь - что делать с сервером, на котором всё работает.
Обновления идут тремя уровнями - от частых и безопасных к редким. В конце - о резервных копиях.
Приложение - из панели
Самое частое и без SSH. Откройте Settings → System Update → Check for Updates, и если вышла новая версия - Update Now. Панель обновится и перезагрузит страницу сама. Подробно - в разделе «Настройки».
Без простоя
Меняется только код приложения - база, настройки и лицензия на месте. Перезапуск - секунды.
Служебное ПО - одной командой
Раз в несколько месяцев (обычно ради безопасности). Подключитесь по SSH и запустите:
curl -fsSL https://install.pwahub.org/server-update.sh | sudo bashОбновление проходит без остановки сайта - сервисы отвечают всё время, а в конце система сама проверяет, что всё поднялось. Команду безопасно запускать повторно.
Операционная система
Системные пакеты и ядро - штатными средствами. Подключитесь по SSH под root:
apt update && apt upgrade -yПроверьте, нужна ли перезагрузка (её просит только обновление ядра - редко):
curl -fsSL https://install.pwahub.org/check-reboot.sh | sudo bashЕсли скрипт скажет, что перезагрузка нужна, - перезагрузите в спокойное время: reboot. Система поднимется сама.
Перезагрузка = простой 1-2 минуты
Полная перезагрузка сервера останавливает сайт на минуту-две, пока машина грузится - это дольше, чем короткий рестарт при обновлении приложения, но принцип тот же. На это время остановите налив трафика на ваши PWA (кампании в источниках), иначе клики уйдут в никуда. Делайте перезагрузку в часы наименьшей нагрузки. То же правило действует и для обычных обновлений - см. «Settings → System Update».
Чтобы не копилось
Включите авто-обновления безопасности - критичные патчи будут ставиться сами:
apt install -y unattended-upgrades && dpkg-reconfigure -plow unattended-upgradesРезервные копии
Копии система делает сама, каждую ночь, на том же сервере:
- База данных - в 03:00. Дамп PostgreSQL со всем, что есть в панели: приложения, домены, пользователи, настройки, пуши, визиты и конверсии. Файл
pwa_<дата>.sql.gzв/home/pwa/backups/postgresql/. - Файлы витрин - в 03:30. Архив
pwa_config_<дата>.tar.gzс конфигами и картинками всех PWA в/home/pwa/backups/pwa_config/.
Хранятся семь последних копий каждого вида, старые удаляются сами (число задаётся переменными BACKUP_POSTGRES_KEEP и BACKUP_PWA_KEEP в /opt/pwa/.env, после правки - docker compose up -d в /opt/pwa). Аналитика отдельно не копируется: статистика пересобирается из базы данных автоматически.
Копию вне расписания - например, перед большими изменениями - можно снять по SSH:
cd /opt/pwa && docker compose exec core php artisan backup:postgres
cd /opt/pwa && docker compose exec core php artisan backup:pwa-configКопии лежат на том же сервере
Пропадёт сервер - пропадут и они. Регулярно забирайте /home/pwa/backups к себе или в облачное хранилище, а вместе с ней - /opt/pwa/.env (пароли и ключи стека), лендинги из /srv/pwa/whites и /opt/pwa/triggers (файлы лицензии): в ночные копии они не входят.
scp -r root@<IP-сервера>:/home/pwa/backups ./pwa-backupsВосстановление - вручную
Дамп содержит только данные (команды INSERT), поэтому загружать его нужно в базу той же версии с уже созданной структурой и без стартовых записей; архив витрин распаковывается обратно в /srv/pwa/pwa_config. Это редкая операция для администратора - если сомневаетесь, обратитесь к вендору до того, как что-то удалять.