1. ブログトップ
  2. /
  3. Tech
  4. /
  5. 師走のひととき、みすきー。(Misskeyアドベントカレンダー2021 Day11)

師走のひととき、みすきー。(Misskeyアドベントカレンダー2021 Day11)

Share with:

お久しぶりです。柊 陸凪です。
12月、もうすぐ今年も終わりですね。深夜テンションの延長みたいなノリでタイトルを決めてしまったので、「何だこれは」って思うかもしれませんが、
私事ではありますが、今年はMisskeyのおひとりさまサーバーの運営を始めたという点でFediverseにより一歩踏み込めた年になったと思います。

アドベントカレンダーに投稿する折角の機会を得ることができましたので、今回は、弊鯖「凪すky」を一年ほど運営してみての感想・AGPLというライセンスの特徴を活かしたカスタマイズなど、色々述べていこうと思います。

弊鯖ロゴ

凪すkyのロゴ・インスタンス情報画面

01.サーバーを建てようと思ったきっかけ。

一言でいうと、「Fediverseでしかできないこと=自由が欲しかった。そして色々試してみたかった。」ということにつきます。Fediverseには色々なインスタンス=サーバがあります。しかしながら、それぞれのインスタンスのイメージは何で決まるでしょうか?私が思うには、「ユーザ」「管理者」の2つで決まると思います。これは第一印象みたいなものであり、インスタンスが建立してある程度の年月(おおよそ2~3ヶ月)が経過すると、ここのインスタンスは「こうこうこういうインスタンス」で「こんな人が運営してて」「ユーザはこんな層が多い」というイメージが確立してきます。弊鯖の特徴としては、実験的ニュアンスも含めた、「おひとりさまインスタンス」としての位置づけがあります。また、おひとりさまインスタンスなので、「柊はこんなやつでこんなサーバ立ててるぞ」みたいなイメージが何もしなくても定着してるような気がします。かんたんに言うと、自分色のサーバが欲しかった、そしてサーバを自分で運営してそのへんのスキルも身につけばいいかなという楽観的観測で始めたのがきっかけだったりします。

サーバ建立については、過去記事があるので、こっちも読んでね。(VPSの設定で試行錯誤しました)

MisskeyからはじめるFediverse鯖缶生活

 

02.どんなことを試してみたか

カスタム絵文字云々はさておいて、弊鯖が他の鯖と大きく違うところは、次の2点かもしれません。知らんけど。

・ローリング・リリースモデルのLinuxディストリビューションでの運用

・岡山弁UI(カスタム言語UIの追加)(githubのリポジトリのlocalsにあるja-OK.ymlがそれ)

02-1.ローリング・リリースモデルのLinuxディストリビューションでの運用

ローリング・リリースモデルについての詳しい説明については、[検索]をすればめちゃくちゃ詳しく書かれた記事が出てくると思いますが、平たくいえば、「OSのバージョンという概念がなく、ソフトウェアを断続的に交換していくOS」です。つまりは、アップデートコマンドを叩いてアップデートをすれば最新の環境で運用ができるという反面、常に最新のソフトウェアパッケージを用いるため、最新が使えるという反面、相性問題等を原因とした不安定さ(古いプログラムでないと動かない)が出てしまう可能性があるという欠点があります。しかし、ある日付になったときのOSのサポート切れや、OSの中身をほぼごっそり入れ替えるような大型アップデートの心配をしなくていいという利点があります。

さて、話をMisskeyに戻すこととします。Misskeyでは、新バージョンがリリースされるたびに、「多分動くと思うからリリースしようぜ」という謎のムーブメントがあります。つまり、製作者が新バージョンを走らせることを推奨しています。つまりは、時代の一歩先を歩んでいるマイクロブログプラットフォーム、それがMisskeyなのかもしれません。ということで、弊インスタンスも、「多分Misskeyが動くと思うからアップデートされた新しい環境で走らせてみようぜ」という挑戦的な動機から、ローリング・リリースモデルを採用しているArch Linux上で運用してみるという試みを実行しています。(gentooもありかと思ったけど、パッケージ管理が全パッケージビルドから始まったりするので、パッケージ管理が楽なArchにしました(とりあえずpacman叩いておけばなんとかなる)。あとサーバなので、SSH接続等でGUIを使うこともまずないだろうということから、GUIのインストール、設定等の手間が省けた分だけ、構築は比較的楽でした。※というかGUI重たいからあんなもの入れたらサーバの容量食っちゃうし[それはそう])

また、Archlinuxの公式wiki(pacman)を見ると、

「部分的なアップグレードはサポートされていません。」

とデカデカと書かれています。つまりは、「sudo pacman -Syu」を叩いて、常に最新のパッケージを使うということが推奨されているということになります。この法則でいくと、基本的には、最新のソフトウェア上でMisskeyを実行することになります。つまりは、動作確認がされていないバージョンのnodejs上やらでMisskeyが走ることになる可能性が往々にしてあるということです。つまり、弊インスタンスは「多分この環境で動くと思うから動作させようぜ。」というスタンスでMisskeyを動作させています。

nodejs

※実は開発者のしゅいろさんからnodejs17.xでも動くんだ〜って言われたのはここだけの話

02-2.岡山弁UIの実装

 

これですよこれ!!弊鯖の独自機能。なぜ、この機能を実装しようと決めたかというと「関西弁UI」があるなら、他の方言UIがあってもいいのでは?という単純なノリから開発しました。そこで、故郷に貢献する?という名目で岡山弁UIを実装しました。

実装にあたっては、VS Codeを用いて日本語UIを元にテキストを書き換えていくという地道な作業で行いました。

⇑すべてはこのノートから始まった。

実は一番岡山弁UIを組む中で、苦慮したところが、「NSFW(閲覧注意)」に充てる部分でした。とりあえず、「せわーあるで」で入れていましたが、どうもしっくり来なかったので、タイムラインにいる有識者各位に問うてみることにしました。

すると、フォロワーさんから「『きょーてーことになるで』を使ってみてはどうかな?」という意見をいただきました。その時の反応が次のとおりです。

流石に、くすっときました。そして実装した結果がこちら。

「私が求めていたものだ!!」ということで、本実装が決定しました。そして今に至ります。ちなみに「きょーてーことになるで」は、岡山弁で「こわいことになりますよ」という意味になります。確かに<禁則事項です>のような画像ですと、誤ってポチッと押すとこわいことになりますよね。特に電車の中とか。

もちろん、岡山弁のランゲージパックファイルは、AGPLに則って、ソースコードを公開しているのでよろしくおねがいしますね。こうしたほうがいい(この言葉のほうがいいのでは?)とかあればIssueなりreplyなどで(反映できるかどうかはぶっちゃけ中の人の忙しさで決まります。はい。)

pacman03.一年ほど運用してみて、そしてこれからの抱負

インスタンスの運用を一年ほど続けてみて、課金してでも運営するメリットはあると思います。サーバに関する知識、カスタマイズによる独自機能、UI等の追加、Misskeyはユーザーとして使うだけではなく、運営することで、その面白さとできることが大幅に広がる素晴らしいマイクロブログプラットフォームです。自分色にインスタンスをカスタマイズしていくことは、ユーザーではなく鯖缶となってこそ味わえる醍醐味だと思います。今後とも、弊鯖をよろしくお願い致します。私も、できることならぜひ運営、続けていきたいと思います。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です