Mastodon

Publish date: Jan 10, 2020
Tags: mastodon

現状について整理してまとめたいと思います。

Mastodonとは

まず、タイトルにあるMastodonですが
ドイツのプログラマーであるオイゲン氏が開発した、オープンソースの分散型SNSです。
Twitterライクな使い心地で
カラム表示に慣れれば、使い勝手はTwitterとあまり変わりません。

主だった違いとしては
まずオープンソースのため、GitHub上でソースコードが公開されており
誰でも構築・運用することが可能です。
また分散型であるため、それぞれのインスタンスで連携することが出来ます。

元々わたしはMastodonのユーザー側で
今はなきknzk.meをはじめとして、ポケマスドン・ゴロツキやjp、板橋丼など
様々なインスタンスに登録して、趣味コミュニティへの参加や
デザイン、機能などの違いを楽しむのが好きでした。

Mastodonについて、雰囲気をよく表現しているなぁ
と、感じた文章を見つけたので引用します。

https://twitter.com/noellabo/status/1076263455324160000?s=20

愛着のあったインスタンス閉鎖をきっかけに
自立したインスタンス運営をしたいと感じて
自力での構築、運用に挑戦したのが始まりです。

現状での構成 / 今後について

現状での構成が以下になります。

Webサービス (SNS) 構成
- EC2
    - Nginx
    - Docker compose
        - detabase (Postgres)
        - KVS (Redis)
        - job queue (Side kiq)
        - Websocket api
        - webapplication (Ruby on rails)
- S3
- SES
- Route53

半年間、Docker上で本番運用しましたが
頻繁に不安定な状態になるため
Dockerから降ろして運用することにしました。

流れとしてはEC2インスタンスでサーバーを用意して
一からMastodonを構築し
動くことが確認出来次第、DBのリストアを行います。

構築について、主に参考にするのはGitHubリポジトリとhttps://github.com/tootsuite/mastodon
公式ドキュメントです
https://docs.joinmastodon.org/admin/prerequisites/

数年前であれば、Mastodon構築方法の記事は結構充実していたのですが
現在は見つけることが難しく、またバージョンも3系に上がったため
公式が公開している情報を頼りに構築を進めるのが安全だと判断しました。

構築において勉強になることが多く、良い題材だなと感じます。
Mastodonのおかげでエンジニアになれたと言っても過言ではないほどに
わたしにとって影響力のあるサービスです。

今後もマイペースに運用していけたらと思います。