プログラミング全然わからんマンがmastodonの自鯖建てた話


はじめに#

Q.どんくらいわからないの?
A.CUI開いたことないッピ!


**この記事はFediverse Advent Calendar 2023(第二会場)の15日目の記事です**
Fediverse Advent Calendar 2023(第二会場)URL:https://adventar.org/calendars/8694

2023年7月にmastodonに自鯖を建てて、約5ヶ月が経過しました。まだ不安はあるけれど、年末を迎えることができたので記念に筆を執った次第です。
どこかに公開しようかと考えていた矢先にアドベントカレンダーの存在を知り、意気揚々とページをこさえました。
プログラミング以外の面でなにかしらの参考になれば幸いです。なにかしら間違っててもご勘弁。

■かいた人
やつ(属性:オタク。ド文系)
■書くこと
mastodonに至る経緯と鯖建てと経過
■書かないこと
mastodonの鯖の建て方、運用保守の具体的な方法


1.twitterが死んだ#

2023年7月2日、twitterが突然読込制限をしてTLも検索も読み込めなくなり死んだ。
以前から、使っていたRSSリーダーbotが急なAPI制限でくたばったり(しゅまいが止まったのもゆるせん)、治安悪いなあと不満が溜まっていたのが7/2の制限で爆発した。こんな所にしがみついていられるか。
翌日に読込制限は復活したが、その後twitterはしばらくの間、移住先の話題で盛り上がっていた。
移住先の候補として、mastodon、misskeyなどが挙がっていた。が、全然知らん。ということで調べてみることにした。

以下は調べる前の雑感とか。
・mastodon
pixivのやつ。pawooとの違いは何??ぞうさん。
・misskey
黄緑色の国産SNS。ドメインはmisskey.ioというらしい。
・Bluesky
元twitterの人が作ったやつ。招待状がないと入れない。
・タイッツー
一発ネタSNS。私の周囲はみんなここに避難垢を作っていた。
・くるっぷ
オタク向け。絵とかSSがいっぱい置ける。
・翡翠SING
クローズドSNS。姉妹サービスのピクスペとピクブラがこの後爆発する。
・Threads
インスタの文字版。金網マッチって結局どうなったんすかね?

調べるうち、Fediverseという言葉を知った。どうもmastodonとmisskey(他にfirefishやPleromaなんかもある)はサーバーが沢山あって、サービスは違えど相互にフォローできるようだ。
せっかくtwitterから飛び立つんだから広々した所がいい。そういうわけでmastodonとmisskeyに登録することにした。

2.自鯖…建てちゃう?#

インターネットを探っていると、fediverseの多くのサービスはオープンソースというもので、やろうと思えば自分のSNSサーバー(=自鯖)が持てるらしい。
私はできればこれが欲しいと思った。理由は自ジャンルが特殊だから。
fediverseにはLTL、もしくはGTLという、fediverseの人たちの投稿が沢山流れるタイムラインがあり※、承認欲求はあれどそこに特殊なものを垂れ流すのは忍びない。探してみたがそういうジャンルのサーバーもない。
(※投稿ごとに公開範囲を設定できるため、流さないようにもできる。また、これらを廃止している鯖もある)

建てるか…鯖…

3.mastodonかmisskeyか#

CUIさえ開いたことのない素人だから記事がないと絶対に鯖建てとか無理!
ということで鯖建て記事を検索すると、大体はmastodonかmisskeyが出てくる。じゃあそのどちらかにしよう。でもその前に使い勝手の様子見がしたい。当時はmisskeyのリアクション機能にかなりの魅力を感じ、misskeyの鯖に垢登録をした。

雰囲気が合わなかった(垢削除)。

次にmastodonの鯖に垢登録をした。まだリアクション機能に未練があったのでリアクション機能のある鯖に登録した。

雰囲気がよかった(mastodonに自鯖建立決定)

それが決め手ではなかったが、建設後の管理記事の多さとか、UIのシンプルさを考えて、鯖建てはmastodonにした。
後、垢登録したサーバーの管理者(以下鯖管)さんには自鯖建設時もとてもお世話になった。ここでリアクション機能を搭載すること、もとい改造の難易度を知ることができ、リアクション機能は諦めた。
鯖はこんな感じで合う合わないがある。それこそ星の数ほど鯖があるので、自分に合うところを求めて彷徨うのもありだと思う。
気に入った所が有れば居着けばいいし、見つからなければ自分で鯖を建てればいい。そういうのができるのがfediverseの良いところ。

4.自鯖が建ったよ#

ということでmastodonで自鯖を建てた。もちろんお一人鯖だ。スペックは以下の通り。

VPS:Xserver
プラン:メモリ2GB(SSD50GB)
イメージ: mastodon

この記事中、一番大変だった時期だ。鯖を建てた日が7/16なので、7/2〜7/16まで空いてる時間はずっと鯖建て(というかプログラミングの基礎から)のことばかり調べていたことになる。mastodonの記事のほか、misskeyの記事も参考にしつつセキュリティ周りもなんとかやった。
これやってるときポート番号とかプロキシとかの言葉が理解できたからITパスポートやっててよかったなって思った。
なお鯖建て途中でわけがわからなくなって鯖缶工場(fediverseサーバー管理者の集うdiscord)とか先述の鯖管さんに助けてもらった。エンジニアって:igyo:
因みに鯖を建てたあと頭使いすぎによる疲労で一週間ほど体調を崩した。ホスティングサービス使え。

5.お一人鯖の使い心地#

ユーザー目線と管理目線での実感を書く。

ユーザー目線
元々独り言は大得意だったので、人がいないことは気にならなかった。むしろ開放感を得てtwitterにいた時の5倍投稿が増えた。LTLの空気を読むも何もない。
なにより広告もインフルエンサーのなんかもオススメタブもインターネットニュースも勝手に流れてこない。もちろん読込制限なんてものはない。自ジャンルのスラングとか気に入った絵文字で遊べる。。あとアレな話をcwで折りたたんで投稿できる。自由って最高〜!
デメリットとしては、人に見てもらえないところ。twitterと比べると20分の1くらいしか反応がなくなった。8月頃までは反応が少なくて心がチリチリしていたが、喉元を過ぎたあたりからなんかどうでも良くなってmastodonにしか投稿しない絵が増えた。そんな承認してもらわなくても好きなもの描いてたら満足できることを思い出した。
あと検索が貧弱なところ。これは自鯖がElasticSearchを導入していないからだが、mastodonは元々検索機能を弱めにしているとのことで、ROM専的な使い方は望めないなと思った。
ROMりたいならElasticSearchを導入した鯖や、他SNSの方が良いかもしれない。

管理者目線
気持ち的には気軽に喋れる自サイトを持った感覚がある。絵文字を入れたり、鯖ホーム画面の文言を設定したりするのはHPのレイアウトを考えるような楽しさがある。
容量…写真…動画…ウッ
ここらへんは余裕のあるお一人鯖ということで割り切ることにした。因みにやり方がいまいちわからなかったのでオブジェクトストレージを導入してない。できるようになったらやる。一応、キャッシュ削除等の処理は2週間に一回位のペースでやっている。
アップデート…ウッ
探せばmastodonの管理記事があるので、慣れたらそこまで気負わなくできるようになった。
が、4.2.0へのアップデート時はもたついた。rubyのバージョンやらなんやら、リリースノートで知らない言葉が出てきたら片っ端から検索して咀嚼した。わからなくてちょっと泣いた。なんとかなってよかった。
他にもnode.jsのバージョンを上げ過ぎてコケたり、気づいたらubuntuのアプデが50以上溜まって慌てたりした。
上記の大体は記事を探したり鯖缶工場で解決策を探し回ったりしてなんとか自力でできたが、そこそこ時間を取られるので頑張ってください。
私はやったこと全てをまとめて自サイトに残していて、何かやるときは見返すようにしている。
あと、お一人鯖だから突然鯖を止めたりしても誰にも迷惑がかからないが、公開鯖をやるならもっと責任を持ってやったほうがいいと思う。

なお両方からの目線として、自鯖にはルールもなければモデレーションもない。他鯖からシャットアウトされない程度に何をしても良いので、やはりどこよりも自由である。
自由って最高〜!(2回目)

6.今後#

今のところコードをぽちぽちするのは苦ではないので、なんとか楽ちんに続けられたらいいな〜と思っている。
最終目標としては、twitterでくたばってしまったRSSリーダーbotを作りたい。
それと、知り合いがこっちに来てくれたらなぁ、と思うが、しつこく勧誘してるとなんだか自分がSIRENの屍人みたいな気持ちになるからtwitterではほどほどに宣伝している。

あとはまあ、せっかく自力で建てたんだし無茶苦茶やりたいよね!

7.さいごに#

振り返ってみると、mastodonを建ててからこの記事を執筆中現在(2023年12月初頭)、twitterに居を構えていたときよりイライラしなくなったなと思った。

もうtwitterをメインの居住地にすることはないだろう。ただ、そこまでの自由を求めていないならfediverseに来る必要も、ましてや自鯖を建てる必要もないのかもしれない。他にも色んなSNSがあるのだから、自分の裁量で決めればいい。
私自身、鯖代更新の時期が近づいたときに「もういいや」と思ったらホスティングに移行するか、自鯖を畳む予定でもある。人生何が起こるかわからんし。
それでもmastodonに自鯖を建てたことによってプログラミング(IT系?)に興味を持てたし、適当なことを適当に投稿するSNSの楽しさを満喫している。twitterの頃あった「公に向かって文言を投稿している」という責任感みたいなものが抜けて、脱力している。とても楽しい。
できればもっと簡単に鯖建て・管理ができるようになればいいなと思うが、それはもうしばらく先の話だろう。
ということでやっと自鯖のご紹介…と思ったがジャンルがアレなので(すまん)別垢を置いておく。

https://kmy.blue/@yatsu

こちらのkmy.blueという鯖はmastodonフォークの鯖で、明日の12/16(第一会場)担当の雪あすかさんが管理人をされている(先述のお世話になった鯖管さんである)。開発や投稿も活発にされており良い独自機能もたくさんあるので、アドベントカレンダーの記事と併せてぜひご覧になっていただきたい。
私は上記垢で鯖管理についてわたわたもたもたしているのでヲチるのに丁度良いと思います。あわよくば助けてほ(以下略)


それではこれでおわります。因みに今日は私の誕生日でした。ここまで読んでくれてありがとう。


※この記事はタイッツー開発者のほくさんが作られた「Writening」というサービスで作成しました。
タイッツーAP喋って♡
お知らせ
実務でも趣味でも役に立つ多機能Webツールサイト【無限ツールズ】で、日常をちょっと便利にしちゃいましょう!
無限ツールズ

 
writening