Всем привет!
Сталкнулся с проблемами при экспорте и восстановлении данных и прошу вашей помощи.
Контекст:
Хотел экспортировать данные из Discourse Teams на собственный сервер (droplet) в DigitalOcean.
Резервное копирование и восстановление прошли гладко, без проблем. Но после восстановления Discourse показывает следующее:
Редактирование:
Вот скриншот из /logs:
dsh.re/64209a (пожалуйста, добавьте https:// — извините, форум не позволил загрузить изображение или добавить ещё одну ссылку)
Привет, Яш! Жаль слышать, что у тебя возникли проблемы с резервным копированием и восстановлением. Ты уже пробовал безопасный режим? Просто добавь /safe-mode в конец URL. Затем ты сможешь увидеть, что происходит при отключении текущей темы, неофициальных плагинов или всех плагинов.
Также рекомендую проверить /logs и лог ошибок nginx, чтобы найти возможные ошибки, которые могут помочь в решении проблемы.
А что происходит, когда ты запускаешь ./launcher rebuild app из командной строки? Возможно, стоит попробовать запустить эту команду несколько раз. В прошлом это мне помогало.
И наконец, не мог бы ты поделиться содержимым файла containers/app.yml (без паролей и идентифицирующей информации о сайте), чтобы мы могли посмотреть, какие у тебя установлены плагины?
Привет, Тобиас,
Большое спасибо за быстрый ответ. Искренне ценю твою помощь.
Когда я перехожу по адресу /safe-mode, мне предлагаются несколько вариантов с чекбоксами, например, отключить тему и т.д. После того как я отмечаю все из них и нажимаю «Далее», на фронтенде появляется та же ошибка.
В URL добавлено следующее: /?safe_mode=no_custom%2Cno_plugins%2Conly_official
Обрати внимание: это одношаговый Droplet от DigitalOcean, на котором пока не установлено никаких дополнительных плагинов. Однако в экземпляре Teams было много плагинов. Как ты думаешь, это может быть причиной проблемы?
Привет, @tobiaseigen
Я настроил новый droplet, установил Discourse по инструкциям с GitHub. Войдя в систему, загрузил резервную копию и выполнил восстановление — та же ошибка.
Не могли бы вы помочь мне с дальнейшими шагами? Я также пробовал запускать rebuild и безопасный режим через launcher — та же ошибка. На данный момент я не устанавливал никаких плагинов.
Кстати, одношаговый установщик от DO использует Docker и последнюю версию с GitHub. Разве это не должно быть полностью идентично ручной установке?
Это проблема с загрузками. Система ищет имя бакета S3, но в новой среде оно не настроено.
Как была создана резервная копия и включены ли в неё все загрузки? В логе восстановления я не вижу никаких загрузок, что говорит о том, что в резервной копии их не было.
Я только что провел быстрое тестирование процесса резервного копирования и увидел, что загрузки действительно включены в файл резервной копии. Завтра я попробую разобраться, как восстановить это на свежем самостоятельно размещенном сайте.
Привет, @schleifer. Как правильно заметил Тобиас, резервная копия была создана из команд (стандартная загрузка резервной копии). Когда я нажал «Отменить подписку», мне предложили создать и загрузить резервную копию. После этого я сделал отдельную резервную копию через панель администратора. Оба файла имеют одинаковый размер, но ни один из них не работает на установке с самостоятельным хостингом.
@pfaffman — Нет-нет, сайт всё ещё был активен, когда я делал резервную копию. Насчёт скрытой настройки я не уверен. Возможно, проблема именно в ней.
@tobiaseigen — Когда я распаковываю файл tar.gz, в нём содержится только «dump.sql». Я не вижу папок с медиафайлами или вложениями. Неужели я что-то сделал неправильно при создании резервной копии?
Да. Это не та резервная копия, которая вам нужна. Если у вас есть только дамп SQL, вам нужно связаться с ними и запросить резервную копию с загрузками. Я почти уверен, что они всё исправят завтра, и у вас всё будет в порядке.
У меня были те же мысли: если файлы отсутствуют, разве Discourse не должен показывать все темы, внешние ссылки и обсуждения, даже без загруженных в систему вложений?
Я думаю, что если он извлечёт dump.sql.gz и переименует его в full-dump-filename.sql.gz, то восстановление произойдёт, но если использовать имя с tar.gz, система попытается обработать загрузки и завершится ошибкой. (Возможно, в настройках сайта есть что-то связанное с S3? Я не до конца понимаю.) На прошлой неделе была похожая тема, и тогда Герхард дал именно такую рекомендацию.
Но если он действительно хочет разместить сайт, ему нужны загрузки, так что ему лучше подождать полный дамп.
@biyaniyash, пожалуйста, перейдите на /admin/site_settings/category/all_results?filter=s3 на вашем новом сайте и отключите всё, что связано с S3, а затем попробуйте снова. Это должно заставить ваш сайт работать.
Привет, @tobiaseigen:
Вот что я вижу по умолчанию, когда перехожу на /admin/site_settings/category/all_results?filter=s3 на новом самостоятельно размещённом сайте Discourse: