Резервные копии
Asmy управляет важными данными сервера, но не предоставляет единого мастера резервного копирования и восстановления всей установки. План копирования нужно подготовить до ошибки, очистки или обновления.
Что сохранять
| Данные | Почему важны |
|---|---|
| PostgreSQL самой Asmy | Пользователи, проекты, домены, ручные блоки и настройки. |
| Volumes приложений | Загрузки пользователей и другие постоянные данные ваших сервисов. |
| Базы данных приложений | Нужна согласованная копия средствами каждой БД. |
| Файлы развёртывания и параметры | Compose/Swarm-конфигурация, используемые версии, переменные окружения и секреты. |
| Состояние Caddy | Данные сертификатов и связанная конфигурация, если план восстановления предусматривает их перенос. |
В штатной конфигурации Asmy предусмотрен отдельный контейнер backuper и volume для копий PostgreSQL. Его наличие не доказывает, что свежая пригодная копия создана и может быть восстановлена. Проверяйте логи, содержимое копий и восстановление отдельно. Копия на том же диске не защищает от потери сервера.
Не считайте копию БД Asmy резервной копией всех приложений: их данные находятся отдельно.
Правила безопасного копирования
- Используйте штатные инструменты БД для работающей базы. Обычное скачивание её файлов из volume может дать несогласованную копию.
- Храните копию за пределами основного сервера и ограничьте доступ к ней.
- Сохраняйте параметры и версии, необходимые для восстановления. В секретных файлах могут быть пароли и ключи — не публикуйте их вместе с инструкцией.
- Периодически проверяйте восстановление в отдельном окружении, которое не отправляет реальные письма и не подключается к рабочим сервисам.
Перед обновлением и удалением
Убедитесь, что есть подходящая свежая копия и понятный путь её восстановления. Особенно это важно перед удалением volume, сменой версии PostgreSQL или ручным откатом Asmy.
Миграции выполняются при старте панели. Возврат старого образа не отменяет изменения БД. Не заменяйте Docker-тег на старый наугад и не меняйте major-версию PostgreSQL без отдельного плана.
Универсальная команда восстановления здесь намеренно не приводится: она зависит от Compose/Swarm, точных volumes, версии БД и вида копии. На рабочем сервере сначала определите эти параметры и проверьте процедуру на отдельной копии данных.