В настоящее время мы используем Amazon S3 для создания ежедневных резервных копий из Discourse и храним их в течение нескольких дней.
Мы храним там только резервные копии, а не обслуживаем изображения или загрузки оттуда (пока предпочли хранить их на нашем сервере, чтобы сохранить простоту).
Однако Amazon S3 не так уж и дешев. Я хотел бы перейти с Amazon S3 на Wasabi, который дешевле для наших нужд.
В первом посте говорится об изменении некоторых строк (добавлении их) в app.yml.
Однако, похоже, это необходимо для активации хранения изображений и загрузок в сервисе S3, а не для резервных копий.
Там упоминаются некоторые специфичные для сервиса переменные окружения для изменения CDN и службы хранения.
Но для меня неясно, где именно нужно хранить эти переменные окружения.
Есть ли какой-либо конфигурационный файл, куда мне следует поместить эти переменные перед запуском launcher?
Если вас интересуют только резервные копии, то переносить данные в новый бакет на самом деле не нужно. А если вы всё же решите это сделать, можете использовать любые инструменты, с которыми вам удобно. Просто измените настройки для нового бакета.
Вам не важен CDN или что-то в этом роде.
У меня были проблемы с Wasabi, и я перестал его использовать. DigitalOcean Spaces стоит недорого.
Спасибо.
Я учту это и попробую использовать Wasabi какое-то время, чтобы проверить, возникнут ли проблемы.
Я не знал, что в разделе env файла app.yml можно создавать столько переменных окружения, сколько нужно.
Мне нужно перенести данные в новый бакет, потому что я храню там старые резервные копии, и Amazon продолжит взимать плату за них, пока я их не удалю. В Wasabi дополнительных расходов нет до 1 ТБ данных.
Всё работает, теперь резервные копии сохраняются в Wasabi.
Если вы используете другой регион, не забудьте изменить его также в названии конечной точки.
Хорошая сторона того, что эти настройки прописаны в app.yml, заключается в том, что для восстановления вашего сайта на новом сервере достаточно только этого файла; после этого вы можете установить свежую версию Discourse и выполнить:
./launcher enter app
discourse enable_restore
discourse restore
а затем скопировать и вставить резервную копию, которую нужно восстановить.
Тогда это не проблема Discourse. Существует множество инструментов для выполнения этой задачи, поэтому поищите что-то вроде «перенос данных между бакетами S3». Я использую s3cmd, хотя причины уже не помню.