とりあえずひとり鯖缶が覚えておいたほうがいいものを大まかにまとめてみました。ここから各々のブログ記事をリンクでつないでいく方針、つまりまとめ・目次記事であります。
ロードマップの月程は大まかな目安です、多分メンテナンスの頻度・難易度によって前後します。自分の知識の整理&メンテナンスの指標を立てるための個人用メモに近いので、アレな部分もあるかもしれません。
この記事の対象者
これからひとり鯖を建てようとしてる人たち。
基本的にLinux・サーバーの知識を持たない人や、MisskeyとFirefishをインストールスクリプトを使ってインストールする予定の人を対象。Mastodonはともかく、Misskey&Firefishを手動でインストールしてる人たちは上級者とカウントしています。
ベテラン鯖缶・有識者のみなさまへ
この記事は、下記の方針・考えで執筆してます。
上記記事内にもありますように、
勘違い・間違いがあると思いますし、その際は指摘していただけると助かります。
初心者鯖缶のメンテ問題を考える
運用・保守は一朝一夕で身に付きません。
そのため、私や初心者鯖缶たちの成長や挫折を優しく見守っていただけると幸いです。
のため、もし何かありましたら指摘していただけると幸いです。
鯖缶になるまで
VPS・オブジェクトストレージの選定
基本的にVPSを中心に考えています。
その他の方法でもできるけど、それは上級者向けと考えていったん候補から外しておきます。オブジェクトストレージ(画像の保管庫)を別途に用意した方がメンテナンスが楽です。
Fediverse界隈ではこの辺が有名ですね。情報量は「S3>R2=Wasabi」、難易度はどっこいどっこい。この辺の選定を間違えると後々大変になるので、なるべく有識者に聞きましょう。
ドメイン名(URL)を決める
お名前(というかGMO)はやめましょう。あいつらは意味不明な手数料を取る&下手したらwhoisオプションに気づかず個人情報全発信しかねないので……。
鯖運用初日~3か月目目
とりあえずLinuxに慣れること・DBだけは早めに死守することを目標に。
VPSのセキュリティ設定
多分もっとあるかも。
Linuxの基本動作を覚える
黒い窓で何をしているのか、何を表示しているのかを覚えておきましょう。
DBのバックアップ・復元を覚える
メンテナンスがうまくいかなかった場合の最後の保険として、DBは必ず死守しておきましょう。最悪DBと設定ファイルさえあればなんとかなる、ってMisskey.ioの村上さんが言ってました(フラグ)
世界一大きなインスタンスでヤバい障害起こしちゃった話 | ここから全部ひとりごと。
なので必ずDBのバックアップ設定をしておきましょう。
ついでにいつでもリストアできるように訓練しておく(テストサーバー・仮想環境など)この辺は自分も知っておきたいのでいつかブログ記事に書く予定です。
↑の作業をメモ・参考記事URLを保存しておく
もし最悪鯖を爆破(初期化)して最初から設定する場合、どこまで設定したか覚えてない可能性が高いです。なので、最初のうちから何を設定したかメモしておく癖をつけておきましょう。
ついでに参考にしたサイトのURLも残しておくと便利です。
鯖缶仲間を探す
ひとり鯖だからと言って引き籠ると、メンテナンス方法がわからなくて詰む可能性があります。なので早めに鯖缶仲間と有識者たちと連絡できるようにしておきましょう。
これをするか否かでひとり鯖の寿命がかなり変わるので(マジ)
鯖運用3~6か月目
このころからソフトウェアのアップデートがちらほら入るので、それに慣れていきましょう。
メンテナンス時に鯖やソフトを落とす・起動する方法を覚える
- Upgrading to a new release – Mastodon documentation
- Misskey install shell script v3.0.0 | Misskey Hub
Mastodonだと下記のコマンドたち。
$ systemctl stop mastodon-web mastodon-sidekiq mastodon-streaming
$ systemctl start mastodon-web mastodon-sidekiq mastodon-streaming
Misskey・Firefishはsystemcrtl stop <ドメイン名>
でいったん止めるようにします。
公式のアップデートログを確認する癖をつける
- Releases · mastodon/mastodon · GitHub
- Releases · misskey-dev/misskey · GitHub
- CHANGELOG.md · main · firefish / firefish · GitLab
アップデートの手順や依存モジュールの説明などが載ってるので、必ずみるようにしましょう。
アップデート(apt・ソフト本体)の方法を覚える
aptによる依存モジュールのアップデートはこちら。
Node.jsのアップデート方法を覚える
意外とアップデートする機会が多いので、こっちに持ってきました。とりあえず「Node.js」ってやつをアップデートしないとソフトウェアが動かない時があるので、ふんわりと覚えておきましょう。
ログがどこにあるか把握する・見る癖をつける
システムに異常が発生したとき、ログを見ていつ・どこでエラーが起きたか確認する癖をつけましょう。
- Mastodonサーバ管理者向け チェックリストの解説 noellabo’s tech blog
- Mastodon保守のヒント|KMY
- Firefish サーバーの立て方メモ | blog.naskya.net
この辺に書いてあるやつを今度まとめる予定。
エラーを検索する癖をつける
エラー文が怖くて鯖缶はやってられっかぁ!!!(涙目)
ということで、エラー文を見つけたらおとなしく検索にかけたり、ChatGPTに聞いて解決していきましょう。
鯖運用6か月目以降
ソフトを動かしてる関連&依存モジュール(npm・Node.js・yarn・pnpmなど)の関係性・アップデート方法を覚えていきます。正直まだ私はこのレベルに達してないので、もし何かあったら教えてもらえると助かります。