Open10
分散型SNS Concrntの画像アップロードサーバーをR2にする

自分が最近居座っている分散型SNS Concruntの画像アップロードサーバーをCloud FlareのR2にしていく方法を書いていきます。何も分からん人向け

Cloud Flareの始め方やR2の設定はこちらとかを参照。バケットの作成まで終わらせる

Concrntの設定 > メディアを開く。使用するストレージプロバイダにS3を設定する

ページ下部のフィールドに各項目を入力
- endpoint バケット詳細のS3 APIを入力
- accessKeyId 後述
- secretAccessKey 後述
- bucketName バケット名
- publicUrl https://{バケット名}.{
Cloud Flareで取得したドメイン名(後述します)}

R2のAPIトークンを発行する
R2のトップページ右のR2 API トークンの管理 > バケットを作成する

- トークン名 適当
- 権限 オブジェクト読み取りと書き込み
- バケットの指定 特定のバケットにのみ適用 > 先ほど作成したバケットを選択
それ以外はそのままで問題なし

APIトークン作成後、アクセス キー IDとシークレット アクセス キーが表示されるのでメモしておく。この画面から離れると消えるので注意

先ほど設定 > メディアの画面に戻り、accessKeyIdにアクセスキーIDを、secretAccessKeyにシークレットアクセスキーを入力

R2のバケットの設定のCORSポリシーを編集を開く。Concrntのメディア設定画面にあるCORS設定をそのままコピペする

publicUrlに設定するドメインの取得方法を忘れていたので書く
R2に外からアクセスできるようにする場合、パブリックアクセスからカスタムドメインかr2.dev サブドメインのどちらかを選ぶ必要がある
カスタムドメインを使う場合は自分でドメインを取得する必要がある。ドメインは年額で料金がかかるので注意
r2.dev サブドメインを使う場合はアクセスを許可を押してからURLをコピペする