Skip to content

Эксплуатация instance ​

Повседневная работа с запущенными instance: обновления, резервные копии, сбои и логи.

NOTE

Режим контейнера и формат архива .panoarc поставляются вместе с образами контейнеров начиная с Pano 1.0.0-alpha.520. См. Хостинг Pano Instance для других.

Обновления и откат ​

Версия instance может смениться двумя способами:

  • С вашей стороны: остановите контейнер, положите новый jar и UI в /data (с проверкой sha256), сохраните предыдущие для отката, обновите /data/.pano-jar и запустите.
  • Из панели самого Pano: в режиме контейнера Pano готовит новый jar в /data, обновляет .pano-jar и завершается с кодом 75. Лаунчер запускает новый jar, контейнер продолжает работать.

Код выхода 75 — это всегда плановый перезапуск, а не сбой.

Для отката укажите в .pano-jar предыдущий jar и перезапустите. При запуске более новой версии Pano переносит базу данных вперёд, поэтому безопасный способ откатить изменения БД — восстановить резервную копию.

Резервные копии ​

Делайте резервные копии каждого instance по расписанию и храните их вне сервера. Pano Host ежедневно сохраняет копии в хранилище S3 и держит их 3, 7 или 30 дней в зависимости от пакета.

Резервная копия Pano Instance — это один архив .panoarc. Тот же формат используется для резервных копий, экспорта, импорта, переноса между серверами и Pano Backup. Это zip, внутри которого:

ЗаписьСодержимое
db/dump.sql.gzлогический дамп базы instance (только таблицы и данные)
app/config.confконфигурация instance
app/plugins/, app/themes/установленные плагины и темы
app/file-uploads/, app/maintenance/загрузки и файлы режима обслуживания
manifest.jsonпоследняя запись: версия Pano, версии схемы БД и хеш каждого файла

Jar Pano, libraries/, встроенные UI и logs/ в архив не входят; вместо этого манифест хранит версию Pano. Символические ссылки пропускаются.

Архив можно зашифровать AES-256-GCM: либо случайным ключом для каждого instance, который храните вы, либо ключом, полученным из пароля владельца (Argon2id). Утерянный пароль восстановить нельзя.

Восстановление ​

  1. Скачайте архив в промежуточную папку вне дисковой квоты instance, расшифруйте его и проверьте каждый хеш из манифеста.
  2. Сделайте страховочную копию текущего состояния.
  3. Остановите instance. Убедитесь, что его версия Pano не ниже версии архива: восстановление на более старый Pano, чем архив, отклоняется.
  4. Удалите таблицы базы instance и импортируйте дамп от собственного (внутреннего) пользователя instance.
  5. Замените файлы app/ и перепишите настройки целевого сервера: адрес и учётные данные БД, порты и TLS, SMTP.
  6. Запустите instance. Более новый Pano перенесёт данные при запуске.

Сбои ​

Перезапускайте упавшие instance автоматически, но не бесконечно. Pano Host останавливает instance, который падает более 3 раз за 10 минут, уведомляет владельца и администратора и предлагает пакет побольше, если не хватило памяти.

Логи ​

Используйте лог-драйвер Docker local с ротацией по размеру, чтобы шумный instance не заполнил диск. Pano Host хранит логи instance 14 дней на сервере и показывает их в реальном времени вместе с консолью для команд на странице управления instance.

Или доверьте это Pano Host ​

Pano Host берёт всю эту схему на себя: каждый Pano Instance получает свой контейнер, базу данных, резервные копии, поддомен *.panomc.site, бесплатный SSL и почтовый relay, а управление — через panomc.com.