【Misskey】みんなが言いたがらないサーバーを長く運用するためのtips

この記事は[Misskey Advent Calendar 2024](https://adventar.org/calendars/10208) 17日目の記事です。

# 読み飛ばしてください
最近、Misskeyのサーバー構築に関する記事をよく見かけるようになりました。
VPS各社も便利なスタートアップスクリプトを用意しており、以前と比べてサーバー構築はずいぶんと簡単になりました。

しかし、実際に運営してみると、技術的な問題以上に、荒らし対応やコミュニティ内でのトラブルなど、想像以上の課題に直面することが少なくありません。

この記事では、Misskeyサーバーを長期にわたって安定運用するためのヒント、そしてコミュニティ運営とリスク管理について、私なりの経験をもとに共有できればと思っています。


# 自分を過大評価しない身の丈にあった選択を
最新のイケイケな技術に惹かれる気持ちは、誰にでもあるでしょう。私もそうでした。

しかし、技術検証ではなくコミュニティ運営という目的においては、最先端技術を使うことよりも「安定稼働」が何よりも重要です。

例えば、Kubernetesがその典型例です。スケーラビリティがそこまで重要ではない小規模なインスタンス環境では、無駄なオーバーヘッドを生み、管理コストを増大させるだけで、期待するほどのメリットは得られません。

新しい技術に挑戦する姿勢は評価できますが、目的と手段を見誤った無謀な試みは愚かでしかありません。
自分の技術力を過大評価せず、身の丈にあった最適な選択をしましょう。

正直なところ、小規模インスタンスであればシングルノードDockerで十分だと思います。
可用性を追求したい気持ちはわかりますが、金銭的にも現実的ではありません。


# 下手な構成をしない
サーバーの構成は、 パフォーマンスや安定性に大きく影響します。

安易に構成を決めたり、複雑な構成にしたりすると、後で問題が発生する可能性があります。

繰り返しますが、小規模インスタンスであればシングルノードDockerで十分だと思います。
可用性を追求したい気持ちはわかりますが、金銭的にも現実的ではありません。


# できない・やれないを言えるように
公開インスタンスとして運営をしていて人を招き入れていると、様々な要望や問題に直面します。
ユーザーからの「あれもこれも実装してほしい」「この機能が欲しい」という声や、コミュニティ内で発生するトラブルなど、対応に追われることがあるかもしれません。

ここで重要なのは、いい人であろうとしないことです。

すべての要望に応え、すべての人を満足させることは不可能です。
サーバーにも人間にもリソースには限りがあり、金銭や時間や能力にも限界があります。

できないことを「できない」と断言し、線引きをする勇気が必要です。

この点においては、いい人であろうとすることがアイデンティティと化している私自身もかなり苦労しています。

優しい曖昧な言葉で要望をかわしたり、問題から目を背けたりするのは、一見よさげに見えますが、長期的な視点で見れば、それは責任放棄に他なりません。

曖昧な態度を続けると、最終的にはコミュニティ全体の崩壊に繋がってしまう可能性もあります。恐ろしいですね。

これは自戒ですが、他人を許容できる寛容さと他人を拒めない臆病さは全くの別物です。無理なものは無理と断言しましょう。

時には厳しい決断をしなければならない場面もあるかもしれませんが、それがサーバーとコミュニティを守ることに繋がると思いたいです。


# 手抜きモデレーションをしよう
半年ほど前に台頭したスパム缶スパムは記憶に新しいですが、サーバーの運営をしていく上では、ローカル/リモートを問わず適切なモデレーションが必要となります。

しかし、一人で全ての投稿を監視し、問題に対処するのは現実的ではありません。

鯖缶が一人でモデレーションを抱え込むと、時間的にも精神的にも疲弊し、対応が遅れたり、判断を誤ったりする可能性が高まります。
他にも、燃え尽きてサーバー運営そのものが立ち行かなくなる〜なんてこともありそうですよね。

そうならないためにも、モデレーションを効率化し、負担を軽減できる体制作りが重要です。
可能な範囲を自動化したり、信頼できるユーザーにモデレーター権限を委譲したりすることで、自分の負担を減らしましょう。しあわせになれます。

ただし、モデレーションを楽にするためとはいえ、ユーザーの自治行為を黙認することは好ましくありません。

恣意的な判断や私的な感情による不公平な対応が起こり、コミュニティ内で混乱や対立を生む可能性があり、最終的に自分の首を絞めることになりかねません。

あくまで最終的な責任は自分が持ち、モデレータとユーザーは明確な線引きが必要だと考えます。


# 不穏因子を排除する手立てを用意する
コミュニティが成長するにつれて、望ましくない行動をとるユーザーが現れてしまうことがあります。
実際、ローカルのユーザーに対し、セクハラDMを送りつけたり、誹謗中傷を繰り返したりするような方が過去にいました。

このような不穏因子からコミュニティを守るために、明確なルールと、それを実行するための仕組みを整備することが必要となります。

ルールは、コミュニティを外部の脅威から守るための盾であり、健全な成長を支える土台であると同時に、大きな力を持つものです。
これはコミュニティを縛り付けるものではなく、健全な交流を促進するためのものだということを忘れてはいけません。

目指すべきは、自由と秩序のバランスのとれた、いい感じのコミュニティです。


# 鯖缶の自我は隔離するべきだった
Misskeyサーバーを立てるような人は、少なからず変人で歪んだ思想の持ち主でしょう。
しかし、「鯖缶という立場で思想や感情を前面に出すのはよくなかったな〜〜〜」というのが、数年間鯖缶をやってみての感想です。

鯖缶垢は、あくまでサーバーを運営するための「器」であって、そこに下手な個人の自我を乗せてしまうと、偏った意見や感情的な発言によって場の空気を乱しかねません。
良くも悪くも、鯖缶というものはコミュニティ内において絶大な影響力を持ちます。

もちろん、鯖缶をキャラ売りして、ユーザーを惹きつけるという戦略もあるかもしれません。しかし、某鯖[^1]での例を見る限り、愚行に思えます。

少なくとも私がもう一度鯖を立て直すことがあればやらないと思います。

個性的な鯖缶は、確かに一部のユーザーから支持を得られるかもしれません。一方で、その言動に反感を持つユーザーが必ず出てきます。
一度コミュニティ内で対立が生まれてしまうと、それを収束させるのはとっても困難です。

だからこそ、鯖缶アカウントはあくまで中立的な立場で、サーバー運営に関する情報発信やユーザーへのサポートに徹するべきだと考えます。

自分の考えや主張を発信したい場合は、別のアカウントを生やし、個人としての活動と明確に区別するべきだと思います。


# さいごに
構築をするだけであればとても簡単ですが、中長期にわたって安定したコミュニティを運用しようとすると途端にハードルが高くなります。
技術系の記事ばかりでそれ以外の話題について全然触れられていなかったため、今回このような記事を書くに至りました。

コミュニティの維持は、困難を伴います。
しかし、その苦労を上回る喜びや感動を感じる場面が多々あります。ユーザー同士が交流し、新たな文化が生まれ、活気あふれるコミュニティが育っていくことが代えがたい喜びであり、サーバー運営のモチベーションになります。

この記事が誰かのお役に立てれば幸いです。


[^1]: 鯖缶が中学生であることを売りにしてたとことか、某大っきいとことか