Scaleway の S3 互換オブジェクトストレージの利用

実は、ほとんどのクローンが何らかの形で動作していません。例えば、Digital Ocean の S3 クローンではファイルの MIME タイプが保持されず、brotli 圧縮された JS ファイルがプレーンテキストとして配信されてしまい、Discourse が完全に機能しなくなってしまいます。そのため、大規模なハウツーガイドも存在しません。数ヶ月前の経験が非常に悪く、かつすべてが急速に変化しているからです。

来週は ScaleWay の提供サービスについて完全な検証を行い、問題が解決すれば howto を執筆する予定です。

:+1:
このドキュメントを読むのが待ちきれません :slight_smile:

私としても非常に興味があります。Rails と ActiveStorage で動作するように試みましたが、うまくいきませんでした。

ガイドを公開する前に、以下の PR が保留中です。

MinIO を裏側で利用している Digital Ocean のような S3 クローンほぼすべてに、この変更が必要になると想定しています。

ガイドはこちらで公開されています:Configure an S3 compatible object storage provider for uploads

これにより私の環境では動作しました(ありがとうございます!)。単純に s3_endpoint を設定するだけでは機能しませんでした。

言うまでもなく、まだ不具合は残っており、エンドポイントを設定するだけでは明らかに不十分です(S3 との統合においてはこれは常識です)。

適切な修正としては、UI にハードコードされている Amazon の値を超えて、リージョンをカスタマイズできるようにすることです。
また、バケットにパスを使用するオプションが不足しており、これはカスタム S3 統合にとって有用な機能です。

Scaleway でサポートされる構成については、Configure an S3 compatible object storage provider for uploads をご覧ください。