Настройка провайдера объектного хранилища, совместимого с S3, для загрузки файлов

Очень хочется сказать, что твой пост — лучший.

1 лайк

Я нашел проблему: Oracle Object Storage использует стиль пути.

А Discourse не дает мне возможности использовать стиль пути, он настаивает на использовании стиля виртуального хоста.

Хотелось бы иметь возможность выбрать это.

Даже MinIO нужно настраивать для работы в стиле виртуального хоста.

1 лайк

Учитывая, что все основные провайдеры облачных услуг поддерживают виртуальный хостинг (включая MinIO), у нас нет планов добавлять поддержку устаревшего режима path style.

3 лайка

Это не первый раз, когда я слышу ваше утверждение. Возможно, стоит добавить это в оригинальный пост и явно указать, что Oracle Object Storage не поддерживается, пока они не добавят поддержку виртуального хостинга.

3 лайка

Приведённое выше объяснение разумно, но следует чётче указать, что не поддерживается ни один провайдер, не использующий стандарт Virtual Host Style.

Несмотря на то, что эта информация упоминается в некоторых разделах, она сформулирована недостаточно ясно.

Мне пришлось провести ряд тестов, чтобы это выяснить.

1 лайк

Какую службу вы пытались использовать, и она не сработала? Тогда мы сможем добавить её в список в первом сообщении.

3 лайка

Я пробовал с Oracle Object Storage.

Они всё ещё используют «path style», и поэтому это не сработало.

1 лайк

Я только что настроил резервное копирование S3 с помощью DigitalOcean Space. Когда я закончил добавлять информацию в свой файл *app.yml и успешно выполнил ./launcher rebuild app, при попытке запустить команду rebake, rake posts:rebake, я получил сообщение об ошибке, что rake не найден.

Пожалуйста, помогите! Я застрял!

1 лайк

Прежде чем выполнить команду rake, введите:

 ./launcher enter app

Рекомендуется сначала выполнить пересборку HTML для поста из раздела UX, чтобы убедиться, что всё работает корректно.

1 лайк

Спасибо, @pfaffman. Я выполнил команду:

./launcher enter app

перед запуском команды rebake.

Вы также сказали: «Возможно, стоит сначала выполнить rebuild html для какого-либо сообщения с точки зрения UX, чтобы убедиться, что всё работает».

Я не знаю, как это сделать, так как я новичок в Discourse. Не могли бы вы предоставить мне пошаговую инструкцию?

1 лайк

Поскольку в данном руководстве это не указано, нужно ли мне после ввода этих данных в app.yml и выполнения необходимых команд также настроить параметры в Настройки → Файл и настройки → Резервное копирование?

1 лайк

Привет, Виктор,
на вашем сайте, нажав на три точки (многоточие), вы найдете гаечный ключ и там «Пересобрать HTML»

3 лайка

Нет. Установка параметров в переменные окружения отменяет возможность увидеть их изменение в пользовательском интерфейсе.

1 лайк

Спасибо, @Benjamin_D. Я сделаю это в ближайшее время.

2 лайка

Спасибо за вашу помощь.

Я успешно настроил резервное копирование в S3 (или, по крайней мере, так мне кажется!). Но при запуске резервного копирования оно выполняется успешно.

Однако в моем бакете DigitalOcean Space нет файлов!

1 лайк

Вот моя конфигурация. По очевидным причинам я не включил свои ключи доступа и секретный ключ!

  after_assets_precompile:
    - exec:
        cd: $home
        cmd:
          - sudo -E -u discourse bundle exec rake s3:upload_assets
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: NYC3
DISCOURSE_S3_ENDPOINT: nyc3.digitaloceanspaces.com
DISCOURSE_S3_ACCESS_KEY_ID: myaccesskey
DISCOURSE_S3_SECRET_ACCESS_KEY: mysecretkey
DISCOURSE_S3_CDN_URL: https://community-cdn.itechguides.com
DISCOURSE_S3_BUCKET: itg-community-files
DISCOURSE_S3_BACKUP_BUCKET: itg-community-files/backups
DISCOURSE_BACKUP_LOCATION: s3
1 лайк

Все строки DISCOURSE*: x находятся выше в файле, в разделе, который начинается с env:, прямо под настройками SMTP.

4 лайка

Вау! Сейчас перемещу файлы и протестирую.

Нужно ли мне также переместить скрипт ниже?

after_assets_precompile:
- exec:
cd: $home
cmd:
- sudo -E -u discourse bundle exec rake s3:upload_assets

1 лайк

Этот раздел представляет собой отдельную строфу, поэтому не имеет значения, где он находится (кроме как посередине другой строфы).

1 лайк

Огромное спасибо @pfaffman! Я только что добавил эти файлы в соответствующие места, и после пересборки контейнера мой сайт упал и показывает пустую страницу!