对于多站点部署,据我理解,你目前已经在做的事情是:你只想使用 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,因为 为上传配置兼容 S3 的对象存储提供商 的 R2 部分中存在拼写错误。