Self-host: резервные копии и восстановление
Резервные копии и восстановление собственной установки. В облаке эксплуатацию сервера выполняет команда Logoric.
Порядок настройки
- Выполните make backup: CLI использует VACUUM INTO, поэтому snapshot согласован при работающем WAL. По имени из вывода скопируйте файл из /data через docker compose cp.
- Отдельно сохраните /data/encryption.key с ограничением доступа и шифрованием. Без соответствующего ключа секреты каналов восстановить нельзя. Не копируйте только живой основной .db без WAL.
- Для учебного восстановления подготовьте отдельный каталог и остановленную изолированную установку. Выполните ./bin/logoric-admin restore --input ./backup.db --db ./restore/restored.db. Каталог должен существовать; целевой файл должен быть новым.
- Перенесите соответствующий encryption.key в data dir, настройте LOGORIC_DB_PATH на restored.db и запустите изолированную установку. Compose по умолчанию не передаёт этот override: добавьте его в environment server в override-файле.
- Проверьте вход, количество сервисов/правил/инцидентов, источник и разрешённую тестовую доставку. До включения внешних каналов убедитесь, что это нужная установка.
- Перед обновлением сделайте backup, сохраните прежнюю версию исходников/образа, затем docker compose up --build -d. Откат требует совместимой версии кода и согласованного backup; автоматического downgrade нет.
make backup # Замените имя на имя из вывода make backup docker compose cp server:/data/backup-YYYYMMDD-HHMMSS.db ./backup.db docker compose cp server:/data/encryption.key ./encryption.key
Ожидаемый результат
Есть проверенный комплект БД+ключ и записанный порядок восстановления. Файл restore не перезаписал рабочую БД.
Если не получается
Restore отказывает при существующем target — используйте новый путь. После потери пароля: docker compose exec -it server /logoric-admin reset-password --email YOUR_EMAIL. Это отзывает сессии и API-ключи пользователя.