Mastodonのメディアファイルをminioに移す
前提条件
- Mastodon、minioが構築されていること
制約事項
- Mastodon → minio間はローカル接続されていること。
目的
- Mastodonのメディアファイル(アバター、ヘッダ、添付画像等)をminioに移したい。
- メディアファイルは、Nginxのリバースプロキシ経由で配信したい。
手順
minio側の準備
1. アクセスキー、シークレットキーを準備する
- Mastodon → minio間はローカル接続されていること。
目的
- Mastodonのメディアファイル(アバター、ヘッダ、添付画像等)をminioに移したい。
- メディアファイルは、Nginxのリバースプロキシ経由で配信したい。
手順
minio側の準備
1. アクセスキー、シークレットキーを準備する
minio側の準備
1. アクセスキー、シークレットキーを準備する
config.json
に記載されている。
以前の記事 の通り構築しているのならば、 /home/minio/config/
内に存在する。
そうでない場合は、~/.minio/config/
に存在するかも?
{
"version": "25",
"credential": {
"accessKey": "HOGEHOGEHOGEHOGE",
"secretKey": "FUGAFUGA123FUGAFUGA123FUGAFUGA123FUGAFUGA123"
},
"region": "",
"browser": "on",
(以下略)
なお、このファイルを編集することでキーを変更することが可能。
書き換えたらminio
の再起動を。
2. 専用のバケット(フォルダのようなもの)を準備する
- にて準備したアクセスキー、シークレットキーを用いて
minio Browser
にログインする。
右下の(+)をクリックし、続けてCreate bucket
をクリックする。
Bucket name
は、それっぽい名前をつける。(外に出るので、かっこいい名前をつけよう!)
このBucket name
は、後で使用するので控えておく。
- バケットに読み書きできるポリシーを設定する
左のバケット一覧より、対象のバケットを選択し、「・・・」をクリック後、Edit policy
をクリック。
Prefix
は空白のまま、右のドロップダウンをRead and Write
に変更し、Add
をクリック。(×) で閉じる。
Mastodon側の準備
.env.production の編集
S3(Minio)の設定がコメントアウトされた状態なので、これを編集する。
# S3 (Minio Config (optional) Please check Minio instance for details)
S3_ENABLED=true
S3_BUCKET=test
AWS_ACCESS_KEY_ID=HOGEHOGEHOGEHOGE
AWS_SECRET_ACCESS_KEY=FUGAFUGA123FUGAFUGA123FUGAFUGA123FUGAFUGA123
#S3_REGION=
S3_PROTOCOL=https
S3_HOSTNAME=mstdn.example
S3_ENDPOINT=http://10.1.1.5/
# S3_SIGNATURE_VERSION=
.env.production オプション | 設定値 |
---|---|
S3_BUCKET |
minio上のバケット名 |
AWS_ACCESS_KEY_ID |
minioのaccessKey
|
AWS_SECRET_ACCESS_KEY |
minioのsecretKey
|
S3_PROTOCOL |
Mastodonがサービスを行っているプロトコル(ほとんどの場合 https ) |
S3_HOSTNAME |
Mastodonのホスト名 |
S3_ENDPOINT |
minioのURL |
たとえば上記のように設定すると
- Mastodonが表示する画像のURL先:
https://mstdn.example/test/media_attachments/...
- Mastodonが画像を転送する先:
http://10.1.1.5/
となる。
Nginxの設定追加
test
配下へのアクセスを全てminioに回さないといけないので、そのあたりの設定を追加する。
(前略)
location ~ ^/test{
# minio Object Storage
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Proxy "";
proxy_pass_header Server;
proxy_pass http://10.1.1.5;
proxy_buffering off;
proxy_redirect off;
proxy_http_version 1.1;
tcp_nodelay on;
}
(後略)
既存の画像ファイルの転送
Mastodonの live/public/system
以下のディレクトリを、まるっとそのまま minioのバケットに放り込む。
サービス再起動
Mastodonサーバにて、MastodonおよびNginxサービスを再起動する。
動作確認する
Mastodonにアクセスする。
画像が表示されていること、画像が投稿できることを確認できたら成功。
あとがき
- 自分用にメモした手順です。必要に応じて読み替えてください。
- こうしたほうがいいよ的なアドバイスを頂けると大変助かります
以上
Author And Source
この問題について(Mastodonのメディアファイルをminioに移す), 我々は、より多くの情報をここで見つけました https://qiita.com/neustrashimy/items/96657542423f76aa4096著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .