Обслуговування сервера
Ця сторінка - для адміністратора. У щоденній роботі сюди заглядати не потрібно: застосунок оновлюється з панелі сам. Тут - що робити із сервером, на якому все працює.
Оновлення йдуть трьома рівнями - від частих і безпечних до рідкісних. Наприкінці - про резервні копії.
Застосунок - з панелі
Найчастіше і без 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. Це рідкісна операція для адміністратора - якщо сумніваєтеся, зверніться до вендора до того, як щось видаляти.