これはMastodon Advent Calendar 5日目の記事です。

私は今年の4月頃にMastodonのいくつかのインスタンスにユーザ登録して、5月はじめにシングルユーザのインスタンスを、7月に公開インスタンスbookwor.msを立ち上げました。

以下、この半年ちょっとのMastodonについての経験を振り返って、技術的なこととか技術的ではないことをとりとめなく書いていきます。

4月: いろんなInstanceに参加

本家jpfmなど複数のインスタンスにアカウントを作って試し始めました。Twitterなどでの知り合いは少なく、すぐに飽きるかな、と思っていたら意外にもさまざまな方とやりとりしていただけるようになりました。当初はMastodonそのものについて語っていることがほとんどだった気がします。

5月: シングルユーザインスタンス

手元で動かしてみたくなって、シングルユーザのインスタンス(いわゆる「おひとりさまインスタンス」)を5月にたてました。このブログをホストしているサーバにDockerを使ってドキュメント通りに設置しています。もともとLet’s Encryptでhttps化はしていたので、サブドメインの証明書を追加するなどは楽にできました。

5月: 最初のトラブル

v1.4rc3へのバージョンアップ時に、rails assets:precompile が失敗する問題が出てきました。当初はyarnのバージョンをさげることで対処していたけれども、途中からMac上にrsyncして、Mac上でassets:precompileして、rsyncで書き戻すように変更してしのぎました。この問題はv1.4.4以降は起きなくなった(yarnが呼び出されなくなった)ので現在は平和です。

6月: ディスクが圧迫されてくる

ローカルユーザひとりでもだんだんディスクが圧迫されてくることに気づきました。第一の理由はメディアファイル。Mastodonにはリモートインスタンスからのtootの添付メディアを削除するrailsタスクmastodon:media:remove_remoteがあるので、それを時々呼ぶようにしました。それでリモートtootのメディアが消えちゃうと見づらくなるなあ、と思っていましたが、今は再アクセスすると再ダウンロードするようになっているので安心してじゃんじゃん削除できます。

第二の理由はdocker。徐々に/var/lib/docker配下が大きくなる現象が起きるのです。docker system prune -aしてもimageのビルドなどを繰り返すと単調増加します。これまでに2回、/var/lib/docker以下を削除してイメージの再構築をしています。

7月: 公開インスタンス

おひとりさまインスタンスで2ヶ月ほどあそんでいたらむずむずしてきて、公開インスタンスをたてたくなりました。

インスタンスのテーマはとても迷いました。テーマはあったほうがよいけれど、話題があまりにしぼられると私自身が使わなくなるな、と思っていたからです。フィクション全般を愛するひと、でどうかな…とおもいつつドメインを探していたら、bookwor.msというドメインがあいていることに気づき、テーマは「本」に決定したのでした。

ここまで2ヶ月でのディスク不足の経験から

  • Dockerは使わない
  • メディアファイルはオブジェクトストレージに置く

という方針をたてて、順調に設置しました。

7月: ストレージのトラブル

しかし、7月後半に、メディアファイル置き場に使っていたさくらのオブジェクトストレージでトラブルが頻発。設置から半月後にはメディアファイルはS3に引っ越しました

さくらのクラウドは良いサービスで基本的には安定しているのですが、オブジェクトストレージだけはどうもダメです。9月に再度大きなトラブルが発生した後は、この記事を書いている12月5日もまだ新規バケット作成受付を停止しています。

8月以降: 順調にユーザ増える

ストレージのトラブル解消後、試験運用という体だったbookwor.msを本格運用と宣言しました。このあたりにはもう、私にとっては他のSNSと同様に、落ち着いて日常的に読んだり書いたりする場になってきていました。

その後順調にユーザは増えて、現時点は84ユーザです。話がそれますが、このtootで言及しているMastodon Network Monitoring Projectは、世界中のMastodonインスタンスにかんする統計データをさまざまな側面から観測できる楽しくて素晴らしいサイトです。

10月: アップデートでトラブル

rcが出てきたらすぐにシングルユーザインスタンスをアップデートし、bookwor.msは正式版リリースの翌日くらいにアップデートするようにしています。アップデートでなにかはまるところがあれば、先に洗い出せるかもしれないからです。v2.0.0では非互換な変更がいくつかはいっていて、先にスマートフォンアプリの対応状況をrc版で確認したりもしていました。

が、v2.0.0については、bookwor.msのほうだけでトラブルが起きました。db:migrateがうまく動作しなかったのです。さいわい、一時間程度でワークアラウンドを発見できましたが、住人の方々に迷惑をかけてしまいました。

しかし1.4rcとこの2.0.0をのぞけばアップデートでトラブルが起こったことはありません。

まとめ

こう振り返ると、運用者としても楽しく設置し運用し、Mastodonのユーザとしても楽しんだ半年でした。

bookwor.msは参加者の皆様のおかげで、のんびりゆっくりした心地よい場所になっています。時々本についての濃いめの話題が投下されて、買う本が増えることもあります。

Mastodonのコードは現在もばんばん進化しています。次のバージョン2.1では、別インスタンスへの引っ越しをサポートする機能がついに提供されます。私自身は自分が管理しているインスタンスがあるのでこの機能を使う予定はないですが、これでMastodon界隈がもっと活性化するきっかけになるかも、って期待しています。当初は私もコード少しはさわろうとおもっていたのですが、変化が高速すぎてまったくついていけていません。でもちょっとSidekiqまわり読んでみようと今もくろんでいます。

日本にはPawoomstdn.jpfriends.nicoの3大インスタンスをはじめとした大きなインスタンスがいくつもある一方で、わがbookwor.msのような小さいけれどもそれぞれのやりかたでにぎわっているインスタンスも多数あります。これは海外でも同じです。

多様性をもちつつもゆるくつながるMastodon、コードとコミュニティが来年以降も健全に育っていくことを期待し楽しみにしています。わたしもできる範囲でほんの少しでも貢献する心づもりです。