Спасибо за подробные инструкции. Мне пришлось сделать нечто подобное при переезде на нового хостинга.
Поскольку сайт работал, я не хотел возиться с резервными копиями, поэтому последовал инструкциям здесь.
Почти всё сработало, но восстановление на новом хосте не удалось.
Оказалось, что сопоставление UID/GID на двух хостах не было полностью идентичным, поэтому при запуске Postgres возникала ошибка из-за неверных прав владения папкой с данными.
Это может произойти и в других случаях, но, к счастью, существует решение.
Для сценария, описанного в этом посте, есть одна дополнительная деталь: контейнер ещё не собран, поэтому команда ./launcher enter app на этом этапе не работает. Поскольку процесс восстановления занял бы довольно много времени, я смог использовать docker ps, чтобы получить имя контейнера, выполняющего сборку, а затем зайти в него:
docker exec -it <container_name> bash
chown -R postgres:postgres /shared/postgres_*
Затем восстановление завершается с ошибкой (или вы не можете прервать его с помощью CTRL+C). После остановки просто запустите его снова, и права будут исправлены:
./launcher rebuild app
И всё снова работает
.