Mastodonインスタンス procydon.net 誕生!

分散型SNSのMastodon,これまでもいくつかのインスタンスでお世話になってきていて,主に名古屋丼を使っていたのですが,ふと思い立って自分でもインスタンスを立ち上げてみました。
なんか,星の名前で「〜don」っぽいのはないかなと考えていたところ,「Procyon(プロキオン・こいぬ座の一等星)」があったので,これだ!ということで,Procydonという名前にしました。

何はともあれ,サーバが必要。ということでいくつかVPSを覗いてみたところ,ConoHaのVPSがなんか大安売りをしていたので,3年間の長期契約。なにせ,36ヶ月契約すると,CPU 3core,RAM 2GBのVPSが1ヶ月あたり465円!になるというので。

今,別のサーバではさくらインターネットのVPSを使っているけど,違うのも使ってみたいというのもあったので,これで申し込み。なんか,クレジットカードがうまく決済できないとかちょっとトラブったけど,なんとか申込み完了。

いざ,サーバ構築。
Mastodonのドキュメントを読んだところ,Ubuntu 20.04もしくはDebian 11がおすすめっぽかったので,Debian 11をVPSにインストール。(普段から,Debian系を使っているので,このあたりは全く問題なし。)

また,先人の記録を見ていると,投稿に添付されたメディアファイルでストレージがあふれるのが問題ということもわかったので,メディアはオブジェクトストレージに保存するのが良さそう。ちょうどいいことに,ConoHaはオブジェクトストレージのサービスも提供しているので,これも申し込み。100GBあたり月額495円ということで,決して安くはないけどネットワーク転送料金込みと考えればまあありかな。
なお,ConoHaのVPSの追加ストレージはかなりお高い。(200GBで月額2750円は…)

あとはドメインの取得。
ドメインは安易に取得するとのちのち管理(供養)に困るので,ちょっと悩んだけど,普段使っているのは大学時代のサークル用のドメインなので,別でprocydon.netを取得。これもConoHaでとって,DNSもConoHaのものを使うことに。TLDは.jpだとちょっとお高いので,.netで。
どうもConoHaのコントロールパネル,普段使っているさくらインターネットのものと使い勝手が違うので,慣れるまでちょっと悩んだけど,とりあえず準備完了。

続いて,VPS上でメールサーバ環境の構築。メールサーバ,VPSで運用すると,意図せずIPアドレスがブラックリストに載ったりして,ちょっとリスキーなんだけど,しょうがない。
メールサーバ自体は,素直にpostfixをインストールし,取得したprocydon.netのDNSでmxレコードとSPFを設定。
ただ,ここでしばらくVPSからのメール送信はできるのに,外からSMTPでVPSに接続できない(≒procydon.net宛のメールが届かない)と悩んでいたんだけど,単純に自宅のプロバイダのOP25Bにひっかかってつながらなかっただけという落ちでした。
VPSのファイアウォールやiptablesなどいろいろ悩んで,VPSファイアウォール設定壊れていないか?と悩んだけど,作業環境の問題でした。

いよいよここからMastodonのインストール。といっても,ドキュメントにいちいち手順が書かれているので,そのとおりに実施するだけ。なお,rbenvでインストールするrubyのバージョンが,ドキュメントでは3.0.3になっているけど,実際に必要なのは3.0.4です。あと,nginxの設定ファイル,ドキュメントどおりにコピーすると,certbotでLet's Encryptの証明書を取る時にうまく行かないと思うんだけど,そのあたりは適当になんとか。

ここまでで,オブジェクトストレージ関係以外の設定はできた状態になったので,一旦Mastodonを起動し,動作確認。とりあえずちゃんと動いているようだったので,一旦停止してオブジェクトストレージの設定に。

まずはConoHaのオブジェクトストレージのドキュメントを読んで,CLI (swift)をインストール。ドキュメントがちょっと古くて,Ubuntu 16.04の案内だったけど,インストールするパッケージをpython3-pipにするくらいで問題なし。
この段階でswiftコマンドの動作確認もしたけど,ConoHaのオブジェクトストレージは,APIやswiftコマンドでの操作が前提なのね。普段使っている,GCP (Google Cloud Platform)ではCLIだけじゃなくてWeb UIも使えるので,ちょっとびっくり。

続いて,Mastodonの設定。MastodonでConoHaのオブジェクトストレージを使うことについては,先人のドキュメントがここここにあるので参考にさせてもらいました。基本的には,前者の方を見ればいいのだけど,

  • .env.productionの設定で,SWIFT_AUTH_URLの最後の "/tokens" は不要になっている
  • 「https://github.com/tootsuite/mastodon/pull/2322 を取り込む」の手順はすでに不要

でした。

設定後,Mastodonを起動して写真をアップロードし,無事にオブジェクトストレージに格納されていることを確認して完了。

さて,Mastodonアカウントが複数になってしまったのだけど,どう使い分けていこうか…

コメント

このブログの人気の投稿

Linuxでの省電力設定

MSFS2020 G1000でのVORの使い方 (C172)

Word 2016の不具合