なーのブログ

nan1sa の個人ブログ

Mastodon サーバーを建てた

2023-02-09 日記

画像アップローダー兼チラシの裏として Mastodon サーバーを建てました。ID は @[email protected] です。本当はもう少し検討してから建てようと思っていましたが、予告なしの非公式クライアント排除大量凍結を見て予定を急遽変えることにしました。

本当は自分以外が運営している Mastodon / Misskey サーバーに移住するという選択肢もありました。しかし、一応にも15年以上もサービスも運営している Twitter 運営を信用できないにも関わらず長くて5年程度しか運営していない個人を信用するのは辻褄が合わないので、それなら自分でサーバーを建てようと思いました。もっとも、自分が信用できるのか?と聞かれたところで別にできないんですけど。

建てるまで

レンタルサーバーはこれまで何度か触ったことがあります。ですが VPS は全く分からないので、とりあえず知り合いが使っている Vultr で建てることにしました。使ったインスタンスは Cloud Compute でメモリ 2GB ストレージ 55GB で月額10ドルのプランです。東京リージョンのサーバーを選択しました。

今回はお一人様サーバーということもあり、サーバーは1台だけ使うことにしました。また、メールサーバーも構築せずに既存の(今回は iCloud で設定したカスタムドメインのメールアドレス)メールサービスを使うことにしました。

Mastodon の導入自体は公式のドキュメントに従って作業を進めれば基本的には難なく終わりました。ただ、いくつか引っかかった点があったのでそのあたりだけ軽くまとめておきます。後日、自分用にインストール手順書を改めて書く予定です。

Elasticsearch の導入は落ち着いてからしようと思っていましたが、手順を見る限りすぐできそうだったのですぐ導入しました。実際、すぐに導入が終わりました。

公式の手順で Let’s Encrypt の導入ができない

  • Ubuntu などは初期設定でファイヤーウォールが設定されているので ufw allow 80,443 で外部からアクセスできるようにする必要があります。
  • そもそも公式の手順が間違っていて Issue も立っているのですが、今のところ修正されていません。一度 nginx を落としてからスタンドアローンで導入します。

一部リソースにブラウザからアクセスできない / リモートフォローができない

  • /etc/nginx/nginx.confuser www-datauser mastodon に書き換える必要があります。
  • chown -R mastodon /var/lib/nginx/var/lib/nginx の所有者を Mastodon の実行ユーザーに変更する必要があります。

(iCloud メールのみ)SMTP の設定でエラーが起きる

  • SMTP のパスワードはここで発行した App 用パスワードを指定します。
  • カスタムドメインのアドレスで送信するときには、SMTP のユーザー名は @icloud.com 又は @me.com で終わるメールアドレスを指定します。

PasswordAuthentication no を設定したのに何故かパスワード認証ができる

  • /etc/ssh/sshd_config で設定して再起動しても反映されない場合、/etc/ssh/sshd_config.d/ の中のファイルで設定が上書きされていないか確認します。
  • sshd に反映されている設定は sshd -T で一覧を確認できます。

今後したいこと

今の時点ではストレージに余裕があるのですが、画像をたくさん投稿するので容量が厳しくなったときに備えてオブジェクトストレージで画像サーバーを建てる方法を調べておきたいです。

また、せっかく Elasticsearch を導入したので今度は from:nan1safilter:images のようなオペレーターを使えるように(できるなら)したいです。

おまけ

昨日は裏ハブの日でした。お酒いっぱい飲みました。美味しかったです。