昨日の鯖落ちの経緯と初心者の備忘録 お騒がせしやした
私が利用中のVPSは、Misskeyのアプリイメージを使って初心者でも割と簡単にMisskeyの自鯖を開設できる。
マニュアルは下記のような感じ。
Xserver VPS
https://vps.xserver.ne.jp/support/manual/man_server_app_use_misskey.php
シンVPS
https://www.shin-vps.jp/support/manual/man_server_app_use_misskey.php
で、上記マニュアルの下部に記載されている通り、アップデートは毎回「update_misskey」とコマンドを叩くだけで勝手にアプデされていた。便利。
一昨日までは。
この「update_misskey」はVPS側がアプリイメージに組み込んであるものらしい。
①Misskeyを止める
②必要なプログラムをgitに見に行ってアップデートする
③Misskeyを再開する
といった一連の処理を勝手にやってくれるのだ。
今回こけたのは②の「必要なプログラム」を見に行く部分で、「Node.js」のバージョンが問題だった。
まず、現行のMisskeyは安定版とされている「v22(確かv22,15.0とかだったかな)」を使用している。これが「Active LTS」つまり最新の安定版だったのだろう。
さて、私がアップデートを実行したのは10/29である。
Misskeyのv2025.10.1がリリースされたのは10/24だが、キャッシュの不具合がどうたらというのでアプデを保留していたところ、10/27に修正が加えられたv2025.10.2がリリースされた。
https://misskey-hub.net/ja/blog/2025-10-27-release/
その翌日、10/28。
Node.jsのActive LTSとCurrentのバージョンが引き上げられていた。
https://nodejs.org/ja/about/previous-releases
Active LTSはv24となっており、Currentはv25である。
ただし、この時点ではMisskeyはまだv22を参照? 使用? している。
その翌朝、河鹿さんはそんなことはつゆ知らず「時間あるからコマンド叩いてさっさとアプデしちゃお~」と何も考えずに「update_misskey」コマンドを入力した。
Node.jsのバージョンアップ翌日にタイミングよくやってしまったのである。
実際の処理ではupdate_misskeyを実行すると最初にMisskeyが止まり、次にNode.jsのLTSを取得しに行く。
ここでインストールされたv24とMisskeyが参照するv22でエラーとなり、Misskeyのアップデートが失敗していたのだ。
アプデが途中で失敗したため、Misskeyもきちんと起動せずに鯖落ちしたというわけだ。
そしてこの「update_misskey」の詳細な処理内容についてはマニュアルサイトなんかには載っていない。
そのため、アップデートのどの辺の処理で止まっているのか、Node.jsのバージョンの問題だとしてもどの辺からやり直せばいいのか確認するのは初心者にはだいぶ厳しかった。
ので、泣く泣くサポートに「なんかNode.jsのバージョン違いでエラーになるんすけどupdateコマンドの中身どうなってるんすか(泣)」みたいな連絡をした。
夜分にもかかわらずサポートの方は復旧のための処理のしかたを教えてくれた。ありがとうサポートの人。
対処としては以下の通り。
①「update_misskey」したときに「最新版のNode.js」を取得する処理をコメントアウトする
②Node.jsの必要なバージョン(今回はv22)を入れてMisskeyを再起動
今回の問題はVPS側が用意してくれた簡単機能と、最悪のタイミングでのアップデートが重なって起きた悲劇と言えよう。(大袈裟)
でもこれ河鹿さん以外のユーザーでも多発しそうじゃね? と思ったので問合せしたしここにも書いてみたというわけ。初心者じゃない人からしたら大したこと無いんだけども。
今後はNode.jsのバージョンエラーについては少なくとも何かできるようになったんじゃなかろうか。いい勉強になったね!!!!!
本当に都合よく忘れたもんだな……アカウントは君より多いのに