Корзины Cloudflare R2 можно использовать для хранения статических ресурсов, таких как изображения и GIF-файлы, для сообщества Discourse, но их нельзя использовать для хранения резервных копий сообщества!
Введение:
Объектное хранилище Cloudflare R2 можно использовать как альтернативу Amazon S3 для хранения загружаемых файлов на вашем форуме Discourse. Ниже приведены шаги по настройке этого.
Шаги настройки:
Включить загрузку через S3: Установите флажок для включения загрузки через S3 в настройках Discourse.
ID ключа доступа S3: Введите ID ключа API для вашей корзины R2. Это идентификатор, предоставленный при создании токена API для вашей корзины.
Секретный ключ доступа: Введите секретный ключ, предоставленный при создании токена API, предоставляющего доступ к вашей корзине. Важно: Этот секретный ключ отображается только один раз, поэтому обязательно сохраните его в надежном месте.
Регион S3: Вы можете ввести любой регион, для R2 это не имеет значения.
Корзина для загрузки S3: Введите имя вашей корзины хранения R2.
Конечная точка S3: Введите ссылку API S3 для вашей корзины R2, которая имеет формат https://xxxxxx.com. Найдите эту ссылку в панели управления Cloudflare R2.
URL CDN S3: Введите публичный URL корзины хранения R2.dev для вашей корзины. Он также доступен в панели управления Cloudflare R2.
Завершение:
После настройки этих параметров ваш форум Discourse будет настроен на использование Cloudflare R2 для хранения.
Информация о бесплатном тарифном плане:
Услуга R2 от Cloudflare предоставляет бесплатный тарифный план, включающий 10 ГБ хранилища, 1 миллион загрузок и 1 миллион операций чтения в месяц.
Спасибо за ваш отзыв. Я внимательно ознакомился с руководством ранее и считаю, что информация о Cloudflare R2 неверна. В статье утверждается, что сообщество Discourse не поддерживает бакеты Cloudflare R2. Однако на самом деле Cloudflare R2 полностью совместим с S3 и отлично справляется с загрузкой и скачиванием изображений и файлов для сообщества Discourse. Это было подтверждено на практике в моём сообществе (starorigin.net).
И, полагаю, это было верно на момент написания статьи.
Гораздо лучше хранить настройки S3 в файле yml, чем настраивать их через интерфейс и сохранять в базе данных. Пробовали ли вы восстановить базу данных на новом сервере?
После того как вы настроите всё рекомендуемым способом, вы можете отредактировать эту тему или оставить комментарий, попросив кого-то другого сделать это.
Вы правы, я использую хранилище Cloudflare R2 для хранения изображений, GIF-файлов и других ресурсов сообщества. Это значительно снижает нагрузку на сервер сообщества и ускоряет загрузку страниц.
Я не настроил автоматическое резервное копирование сообщества в хранилище Cloudflare R2, поскольку бакеты Cloudflare R2 не поддерживают хранение сжатых файлов. Однако хранилище Cloudflare R2 может хранить PDF-файлы, изображения, GIF-файлы и другие статические ресурсы сообщества, что также очень хорошо.
Ведро Cloudflare R2 можно использовать для хранения статических ресурсов, таких как изображения и GIF-файлы для сообщества Discourse, но оно не подходит для хранения резервных копий сообщества!
Просто обновлю этот пост: у меня возникли некоторые нюансы, которые нужно было учесть, прежде чем Cloudflare заработал.
1. Регион
Это было неверно: мне пришлось использовать “auto” или выбранный регион. “Auto” проще, поэтому используйте его.
Если вам нужно узнать, какие варианты доступны, попробуйте ввести любую случайную строку в поле региона и выполните:
Также я подтвердил, что ключи API являются ключами аккаунта, а не только ключами, специфичными для бакета (как упоминалось в посте). Кроме того, мой экземпляр Discourse показывает следующее:
Я считаю, что всё это верно.
Убедитесь, что у CDN_URL (https://pub-xxx.r2.dev) есть публичный доступ на чтение, чтобы анонимные пользователи могли просматривать ресурсы.
Вы можете увидеть, что происходит, в инструментах разработчика браузера. Если права доступа настроены неправильно, во вкладке «Сеть» вы увидите множество ошибок 403 и красных запросов.
Cloudflare автоматически настроит проксирование и сможет выполнять кэширование для этого домена.
Затем вы можете изменить параметр CDN_URL на этот пользовательский домен.
В настройках ведра S3 есть параметр общего доступа.
Задайте для него уникальное поддоменное имя. (Cloudflare автоматически создаст для вас DNS-запись, а также настроит проксирование и кэширование)
Удалось ли вам настроить резервное копирование в Cloudflare R2? И возможно ли (при условии, что копирование в R2 поддерживается) настроить одновременное создание резервных копий и локально, и в Cloudflare R2?
Также, означает ли скрипт загрузки всех ресурсов, что они будут удалены с локального диска (для освобождения места)? Или мне нужно выполнить отдельную процедуру?
Лично я не пробовал.
Мой форум относится к категории «неподдерживаемых», так как моя база данных внешняя, а стратегия резервного копирования отличается от используемых форумом pg_dump.
Судя по тому, что я слышал, резервное копирование не работает на Cloudflare, но ничто не мешает вам попробовать.