[Mastodon]外部ストレージに変更するとアイコンが消える問題の解決方法
追記)
この件に関してはプルリクがすでに送られているようです。v1.3.3 はまだですが、次のバージョンで対応されるかもしれません。
https://github.com/tootsuite/mastodon/pull/2292
-----
最近、Mastodon 流行っていますね。みなさん楽しんでいますか?
私はインスタンスを何度か壊して泣きそうです(笑)。
さて、Mastodon のインスタンスを運営していると画像がハードディスクの容量を圧迫してくるようになりますね。
それで Amazon S3 か、S3 互換ストレージという外部ストレージを利用するようになると思うのですが、その時問題になるのが、アイコンや画像のアドレスが変わってしまい消えてしまうことです。
この問題は知っていれば割り合い簡単に解決できるのですが、適当なツールをなかなか見つけられず私は非常に苦労しました。ですので、みなさんにはこの問題で困らないようにしたいと思います。
なお、クライアント環境は Mac で、利用しているオブジェクトストレージサービスは「さくらのオブジェクトストレージ」になります。
まず知っておきたいのは、アイコンやヘッダー画像はどこに保存されているのかということです。
答えは、以下のディレクトリになります。
/home/mastodon/live/public/system/accounts
このディレクトリの配下に avatars、headers ディレクトリがあり、この中にアイコンやヘッダー画像が保存されています。
通常はこのままで問題ないのですが、.env.production ファイルで S3 の設定を行うと、S3 の設定先をインスタンスは見に行くようになるのでアイコンが非表示になる訳です。
じゃあ、どうしたらいいかというと、この accounts ディレクトリをまるっと S3、S3 互換ストレージにある accounts ディレクトリに上書きしてしまえばよいのです。存在しないファイルはコピーになるので問題ありません。但し、ツールによってディレクトリを置き換えるという動作をするかもしれないのでその点は注意してください。
さて、まずは自分の Mastodon インスタンスから accounts ディレクトリをサブディレクトリごとまるっとダウンロードしてきます。Mac なら無料の Cyberduck でもいいですし、私のように有料の ForkLift のような SFTP をサポートしているツールでダウンロードしてきます。
ダウンロードは簡単なのですが、Amazon S3 や S3 互換ストレージに問題なくアップロードできるツールは少ないです。S3 互換ストレージはなおさらです。少なくとも、さくらのオブジェクトストレージはツールを見つけるのに苦労しました。
それで見つけたツールが「Transmit」というツールです。AppStoreで購入すると4100円しますが、サイトに行くと1週間の体験版を入手することができますので、これを利用しましょう。ここまでのツールはないので、購入してもよいのではないでしょうか。
さて、では Amazon S3 や S3互換ストレージのさくらのオブジェクトストレージでどのように接続するかというと以下のように指定して「接続」をクリックします。
すると以下のようにバケットの下に accounts ディレクトリがあるので、インスタンスからダウンロードした accounts ディレクトリを上書きします。これでアイコンやヘッダー画像が表示されるようになります。
じゃあ、アップロードした画像はどうかというと、試してはいないのですが以下のディレクトリ配下に保存されていると思います。アイコンと同じ要領でダウンロードとアップロードすれば表示されるようになるのではないでしょうか。
/home/mastodon/live/public/system/media_attachments
ただ、過去の画像については容量も大きいし、辿ってみることも少ないので見切りをつけてもよいと思いますけどね。
これで安心して外部ストレージに移行できますね。
この記事がお役に立てば幸いです。
スポンサーリンク
Twitter ではブログにはない、いろんな情報を発信しています。
@fnyaさんをフォロー
この問題についてマスタドンにプルリクを送っています。
rakeタスク一発でリモートのアバターとヘッダーについては再取得できますのでよろしければ取り込んでお使いください
https://github.com/tootsuite/mastodon/pull/2292
投稿: プルリク送っています | 2017/05/09 21:12
>>プルリク送っていますさん
プルリクを送ってくれたのですか。ありがとうございます。
たくさんの人が助かると思います。となると、v1.3.3の次のバージョンで使えることになりそうですね。
楽しみに待っています。記事も修正します。
投稿: fnya | 2017/05/11 01:17