15
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

先日、私の運営するMisskeyインスタンス、しゃふすきーが、一周年を迎えました。
この記事では、しゃふすきーを建ててからの一年間を、あることないこと懐かしみながら振り返りたいと思います。

そもそもMisskeyって何よ

一時期話題になり、トレンドにもなっていたため、ご存じの方も多いかと思いますが、Misskeyは所謂、分散型SNSと呼ばれるものです。

Twitter(自称X)や、Instagram、BeRealなどの中央集権型SNSとは異なり、特定の企業や管理者が存在しない、(広義の意味で)分散されたSNSです。
複数のインスタンスが存在し、ユーザーはその中から選んで参加することができます。

MisskeyはFediverseと呼ばれる複数のソフトウェアで構成される相互接続網に属しており、他のインスタンスともやり取りが可能です。

私とMisskey

私がMisskeyを知ったのは、コロナ禍真っ只中、自粛期間中のことでした。

その後しばらく忘れていたのですが、イーロンによるTwitterでのごたごたをきっかけに、新しい移住先のSNSを探している中でふとMisskeyを思い出し、「これだ!これだ!私がめっちゃ求めていたのはこれだ!!」と思い、ioに登録したことが始まりです。

投稿するや否や、たくさんのリアクションをいただき、一日と経たずに、晴れて私はミス廃デビューを果たしました。

misskeyに限った話ではないかもしれませんが、空リプが基本の文化とGTLのリアルタイム感で深夜の孤独感が希釈されます。最高です。

毎日の起床就寝報告や、どうでもいい些細な話題にもたくさんのリアクションがついて幸せでした。(カスタム絵文字の機能いいですよね)

私の鯖缶記

ここからが本題、だいじなとこです。わたし、鯖缶になります。

鯖立てへの道のり

ioに住んでいた経験がある方ならお分かりかと思いますが、あそこ、かなり重いんです。

どうせなら自分でサーバーを立ててしまおうと思い立ち、色々と調べてみたところ、意外と簡単に立ち上げられそうだったこともあり、鯖を建てることを決意しました。

一人用のインスタンスでもよかったのですが、私は孤独が苦手なので「いろんな人と関われるいい感じのコミュニティーを作りたいな~」という漠然とした思いから公開サーバーにしました。

幸いなことに、PostgreSQLもRedisもVueも触ったことがあったので、いざとなったら自分でなんとかできるだろう、と楽観的に考えていました。

サーバーの立ち上げ自体はそれほど大変ではありませんでしたが、一番苦労したのは利用規約とプライバシーポリシーの整備です。
ポリシー系の整備は、個人開発でも然り、本質とずれた作業で、面倒だと感じるものランキングがあるとすればダントツの1位だと思います。

しかしながら、公開インスタンスとして運営する以上、何か問題が起こった際の責任逃れの道を用意し自分へ降りかかるかもしれないリスクを少しでも減らしておく必要があります。

解釈の余地を残してモデレーションの柔軟性を保ちつつ、ある程度具体的に明文化したものを作るのに苦労しました。

しゃふすきー爆誕

7月4日、しゃふすきーが爆誕しました。

image.png

当時は、現在のドメイン(shahu.ski)ではなく、genkaishahu.comでした。

立ち上げてからの最初の1か月間は、オンラインの人数が多くても3人ほどの、とても静かなサーバーでした。

しかし、ありがたいことに頻繁に書き込んでくれる方が何名かおり、リアクションも活発に飛び交い、SNSとしての機能はしっかり果たしていました。

最初に自分以外の方がTLに現れたときの感動は忘れません。

サーバーダウンとDBの爆破

運営開始から3ヶ月が経ち、アクティブユーザーも少し増えてきた頃、事件が起こりました。
そう、サーバーが死んだのです。

当時、Proxmox上に複数のLXCコンテナを立ち上げ、PostgreSQL、Redis、Misskey本体、meilisearchをそれぞれ別々に動かしていたのですが、Proxmoxごと死んでました。
(詳しい原因は最後までわかりませんでしたが、おそらくLXCがホストのカーネル巻き込んで死んでたことが推測されます)

幸いなことに、DBのダンプを別の場所にバックアップしていたので、そこからの復旧を試みました。

しかし、データに不整合と欠損があり、2日間にわたる必死の格闘の末、うまくいかず、新しいドメインでやり直すこととなりました。

image.png

Misskey(というかFedi系全般)では、一度DBを爆破してしまうと連合の都合上、同じドメインが使えないため、苦しむことになります。

これ以降、バックアップ先をr2に変更し、定期的に手動で中身を確認するようになりました。
(Misskeyの場合、最悪PostgreSQLのデータだけ生きていればなんとかなりますからね。多分。)

独自フォークへの移行

バニラのMisskeyでは、機能がやや不足していたり、細かい実装が足りなかったりすることがあったため、独自にフォークしてそちらへ切り替えることにしました。

Misskeyのコードに触れるのは初めてで手探りの状態でしたが、いくつかの機能を実装・テストし、無事にローンチすることができました。

独自フォークに移行したことで、自分たちのニーズに合わせたカスタマイズが可能になりました。
本家では実装されないようなカスタムフォント機能の追加すでにある機能の拡張・改善など、他にも幾つかの変更を行いました。

今後も自鯖のニーズに合わせてぼちぼち開発していくつもりです。

おわりに

振り返ってみると、しゃふすきーを立ち上げてからの一年間は本当にあっという間でした。

この一年でいろんなことを学びました。
技術的な知識もそうですが、コミュニティ運営の大変さや楽しさも実感しました。

最後に、しゃふすきーを支えてくれた全てのユーザーに感謝です。
皆さんのおかげで、一周年を迎えることができました。
これからもよろしくお願いします!

以上、私のMisskeyインスタンス運営一年の振り返りでした!

この記事が、これからインスタンスを立ち上げようとしている方や、運営に興味がある方の参考になれば嬉しいです。

それでは。

15
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?