К содержимому

Аварийное восстановление ​

Команда recover восстанавливает полный архив NGENSIA в новую установку PostgreSQL 17. Исходное окружение и его тома не используются как цель. До переключения пользователей проверьте восстановленную систему и исключите одновременную работу двух копий с внешними интеграциями.

Что подготовить ​

Нужны доверенная копия с пятью файлами, доступ к точному образу приложения из config.env, соответствующий серверный комплект, отдельные ресурсы Docker и хранилище файлов. Ключ шифрования данных находится в runtime-secrets.tar; архив требует защиты наравне с рабочими секретами.

Для текущего rootful-комплекта войдите в root-shell через sudo -i и ведите восстановление в этом контексте, сохраняя закрытые права runtime и operations.

backup-config и backup-fetch, используемые ниже, относятся к новому кандидату установщика. Если подходящего проверенного комплекта нет, остановите этот сценарий и согласуйте получение копии с сопровождающим. Эти команды не создают S3 remote или ключ crypt; после аварии нужны сохранённые ранее настройки, а не новый ключ. Для уже доступной локальной полной копии шаг получения из remote не нужен.

Если копия хранится в remote, восстановите приватную конфигурацию rclone и независимый ключ crypt. Идентификатор копии возьмите из сохранённого вне сервера реестра либо прочитайте каталоги зашифрованного remote, не его нижележащего bucket:

sh
rclone --config /etc/ngensia/rclone.conf --ask-password=false lsf backup-crypt:ngensia --dirs-only

Команда только перечисляет каталоги. Используйте фактическое имя remote из приватной конфигурации; при отдельном CA добавьте согласованный --ca-cert. Не применяйте переменные RCLONE_*, переопределяющие выбранную конфигурацию. Выберите нужную историческую копию по независимому реестру и времени, уберите завершающий / из её имени. Наличие каталога ещё не подтверждает целостность: её проверит backup-fetch.

До команд backup-config и backup-fetch подготовьте новую .env с корректным неизменяемым APP_IMAGE из доступного квалифицированного комплекта и отдельным COMPOSE_PROJECT_NAME: оболочка операций читает эти параметры даже при скачивании. Затем подготовьте доступное внешнее смонтированное назначение и приватный JSON по инструкции копирования.

sh
cd /opt/ngensia/deploy
sh ngensia.sh backup-config /etc/ngensia/backup.json
sh ngensia.sh backup-fetch BACKUP_ID /mnt/ngensia-backup/recovery-set

Каталог назначения должен быть новым, абсолютным и вне установки; его родитель должен существовать. Команда скачивает данные и проверяет контрольные суммы. backup-status читает только локальную историю: после потери сервера она недоступна и не восстанавливается из архива. Не создавайте новую копию ради получения идентификатора прежней.

Восстановление комплекта ​

Подготовьте .env новой установки по проверенным параметрам копии. Обязательно укажите точный APP_IMAGE из config.env: другой образ отклоняется. Проверьте домен, отдельный COMPOSE_PROJECT_NAME и файловое хранилище. Конфигурация из архива не подменяет текущий .env автоматически. Доступы S3 подготовьте отдельно; используйте пустое выделенное назначение.

sh
sh ngensia.sh recover /mnt/ngensia-backup/recovery-set
sh ngensia.sh start
sh ngensia.sh status

В новой установке ещё не должно быть runtime. Команда проверяет строгий список файлов и SHA-256, извлекает прежний ключ данных, создаёт новые пароли PostgreSQL и сертификаты, восстанавливает пустую базу и файлы. Публичный HTTPS автоматически не включается.

Возврат пользователей ​

Организуйте закрытую HTTPS-приёмку. Проверьте вход, количество и содержимое контрольных записей, чтение вложений и зашифрованных данных. Согласуйте возобновление обработчиков, затем переключите пользователей и повторите проверку HTTPS. Сохраните исходную копию и журнал времени восстановления.

Изолированная проверка процедуры не подтверждает восстановление на вашей целевой инфраструктуре. Проведите репетицию с доступным носителем, реальными ограничениями объёма и ответственными операторами. Заданные RPO/RTO, облачный провайдер и восстановление production должны приниматься отдельно; непрерывного журнала для PITR в комплекте нет.

Восстановление из отдельных файлов · Домен и HTTPS

Сверено с версией 0.9 · редакция 13.10.2026

Документация NGENSIA · Работа, настройка и эксплуатация