Не лучше вас, но я только что прошёл этот путь — и справился с помощью @Pravi.
Шаги, которые нужно выполнить, чтобы вернуться от загрузки в S3 к стандартному состоянию
Это не очень просто — будьте предельно внимательны с текстом и ссылками, иначе, если что-то пойдёт не так, наводить порядок будет очень сложно. Но это вполне реально.
Шаг 1 — Скопируйте файлы из вашего S3-бакета в папку public/uploads/default
Сначала установите AWS CLI внутри контейнера приложения:
cd /var/discourse
./launcher enter app
sudo apt install awscli
Настройте AWS, указав ваш S3-идентификатор и пароль (обычно это просто):
aws configure
Затем используйте aws для копирования всего содержимого бакета в public/uploads/default/:
aws s3 sync s3://my-bucket-name/ public/uploads/default/
Шаг 2 — Перенастройте URL S3
Это проще всего сделать, найдя изображение на вашем форуме и проверив его URL. Вам нужна вся часть до самого имени файла (включая последний /):
discourse remap //the-long-url-in-your-images-until-the-filename /uploads/default/
Шаг 3 — Пересоберите посты и перезапустите приложение:
rake posts:rebake
exit
./launcher rebuild app
Шаг 4 — Отключите S3
- Отключите загрузки в S3 в настройках (или в вашем app.yml, если вы настраивали его таким образом). Если вы использовали CDN, то также удалите ссылку на него из настроек (иначе отключение не сработает по-настоящему).
- Выключите ваш контейнер. Я сделал это, переместив содержимое в новый контейнер в качестве резервной копии на начальном этапе.
Уф! Готово. Пока что я не столкнулся ни с какими проблемами. Идите и проверьте!