Я перенёс своё приложение Discourse с одного сервера на другой. Восстановление выполнил через командную строку.
Однако при переходе на сайт я всё ещё вижу мастер настройки: это мешает автоматизировать перенос на другой сервер с помощью скрипта.
Мне не удалось найти информацию о том, как отключить начальный мастер. Мне не нужно создавать временного администратора, так как восстановление уже выполнено (включая, как я предполагаю, всех пользователей в базе данных).
На самом деле я всё ещё вижу ошибку, возможно, потому что процесс восстановления не удался.
Команда [quote]./script/discourse restore xxx.tar.gz[/quote] завершается сообщением:
Я удалил всю папку “standalone” и повторил попытку, но результат тот же.
Я сделал полную копию папки “standalone”. Это сработало, но иконки в верхней части сайта исчезли, даже после их повторного определения в параметрах администратора.
Возможно, проблема в /exec/shared/standalone/uploads/default/original/1X (которая при этом заполнена корректно).
Я пытаюсь понять, как перенести данные с одного сервера на другой, если команда “restore” не удаётся.
Мастер настройки исчезает, если есть пользователь-администратор, но, похоже, это никак не связано с вашей проблемой.
Если вы видите ошибку прав доступа к PostgreSQL, значит, у вас есть другая проблема. Если вы удалите директорию postgres, то вам придётся выполнить пересборку, чтобы воссоздать необходимые для PostgreSQL файлы.
Восстановление через командную строку — это то, что я чаще всего делаю при переносе на другой сервер. В пятницу я так перенёс сервер, работающий на версии 1.6.0-beta1, и всё прошло успешно.
Другой простой способ — использовать rsync для синхронизации всей директории /var/discourse (исключая логи и некоторые другие файлы, если они большие). При этом методе я всегда останавливаю контейнер перед выполнением rsync. Копирование папок letsencript и ssl позволяет избежать необходимости пересборки для получения новых сертификатов.