セコンさんから誕生日にメールでメッセージをもらったついでに、この日記がよく Internal Server Error で落ちてます、という報告をもらい、自分は見えているのだけどなんで?と調べてみたら、時間帯によってはボットアクセスが結構な頻度で発生し、h2o の fcgi.spawn がさちってエラーとなる、という現象が発生していたっぽい。
で、どうしたもんかね、と Claude に聞いてみたら、fcgi.connect というのがあるから、これを spawn-fcgi で起動した tDiary に socket 通信してやれば、毎回 spawn するコストがなくなるからいいんじゃないか、と提案されたのでそんな感じの構成に変更した。
実際に必要な h2o.conf や systemd の設定は全部 claude に作らせてからサーバーにデプロイして、構成変更って感じでうまく動いた。あと、編集ページへのアクセスも結構あるっぽく、Basic認証で弾かれているとはいえこれはこれでリソースを食っているので、ssh トンネリングにして動かすようにして public に出していたエンドポイントは消してしまった。
当面はこれで動かしていこうと思う。
configure-rubygems-credentials という release-gem が依存している rubygems.org の OIDC などを自動化する action があって、そこの issue に 6/16 に node20 は使えなくなるけど、なんかやってんの?みたいなコメントが土曜にあり、だるいなー...と思いつつも Fable 5(そのときはまだ使えた)にぶん投げればいいか、と「アップデートして」「もういらないから消していいよ」という感じでランタイムを node24 まであげたものをリリースしておいた。
で、リリースしてからさマリとして Fable 5 と壁打ちしていたら「これは node20 が使えなくなるわけではなく、指定されていたとしても強制的に node24 で動かす変更です。なお、このリポジトリの bundle は node24 でも問題なく動きます」とか言い出して脱力、先に言えよー...。
結果として、上みたいな話を学べたからいいっちゃいいんだけど、土曜にこういうのに本当に時間を使いたくなかったので時間を返して欲しい。