Для multisite, насколько я понимаю, то, что вы уже делаете, — это использование только одного экземпляра с R2. Если ваши настройки находятся в административных настройках, вам нужно использовать USE_DB_S3_CONFIG=true вместе с RAILS_DB=default, и всё будет работать безупречно.
hooks:
after_assets_precompile:
- exec:
cd: $home
cmd:
- sudo -E -u discourse RAILS_DB=default USE_DB_S3_CONFIG=true bundle exec rake s3:upload_assets
- sudo -E -u discourse RAILS_DB=default USE_DB_S3_CONFIG=true bundle exec rake s3:expire_missing_assets
Для миграции загрузок вам нужно экспортировать эти переменные, как показано ниже, или по одной.
RAILS_DB=default \
DISCOURSE_S3_REGION=auto \
DISCOURSE_S3_ENDPOINT=https://<account-id>.r2.cloudflarestorage.com \
DISCOURSE_S3_BUCKET=discourse-files \
DISCOURSE_S3_ACCESS_KEY_ID=<your-access-key> \
DISCOURSE_S3_SECRET_ACCESS_KEY=<your-secret-key> \
rake uploads:migrate_to_s3
Если вы планируете добавить это в app.yml, убедитесь, что используете DISCOURSE_S3_BUCKET, так как в разделе R2 в Configure an S3 compatible object storage provider for uploads есть опечатки.