ContaboでおひとりさまMastodonを構築したメモ

先日、ContaboでMastodonのおひとりさまサーバーを設置しました。前回はXserver VPSで行いましたが、今回はドイツのVPSサーバーを選択。前回の設置メモに関しては、下記のリンクから読んでいただけると幸いです。

今回は苦戦したところを備忘録として残しておこうと思います!

目次

そもそもなぜContaboを選んだのか??

Contabo🥇Cloud VPS & Dedicated Servers for a Price You’ll Love

今回はコスパと性能を重視して選びました。Contaboは日本のVPSに比べるとスペックが高いのが特徴。日本のRAM4GBプランと同じ価格帯で8GBになっているなど、日本のサーバー会社に比べると1段上の性能を提供しています。

今回「Mastodon+Elasticsearch+kuromoji」のセットで行いたかったので、性能が良いContaboにしました。Sプラン(8ドル)+日本リージョン(3.5ドル)の約12ドル(2023/04/26時点で約1,600円)の計算です。

余談

Contaboを新規登録する際、身分証明書を提示(あちらの国の事情)を要求されます。個人情報の画像を渡したくない場合は、登録を避けた方がいいかもしれません。

大まかな流れ

  1. ドメインの契約(今回は前回のおひとりさまサーバーのURLを流用)・DNS設定
  2. 必要な言語やもろもろをインストール
  3. MastodonをGitHubから持ってくる
  4. Mastodonのセットアップ
  5. SSL化
  6. 起動

Installing from source – Mastodon documentation

Mastodon公式ドキュメントを見ながらコマンド入力・インストールします。

苦戦したところのメモ

バージョンの相性による競合・エラー問題

インストールする際のバージョンの組み合わせによって、エラーが発生することがあります。私遭遇したのが下記の2つになります。

  • Node.js 18 & 20によで発生したMastodonコンパイルエラー
  • Rubyのバージョン低い問題

これらの問題は、日本のインストールプログラムがある会社ではほとんど起こりません。あらかじめ必要な・エラーが起きないバージョンで一括インストールするので、自分でやってはじめて気づく問題でした。

Node.js 18 & 20にで発生したMastodonコンパイルエラー

「公式サイトではNode.jsがVer16が推奨されてるけど、最新版の方がええやろ~」精神の人はハマる問題。Mastodonの設定が終わり、コンパイルするところでエラーを吐き、Web画面が真っ白になる問題が発生しました。

/var/log/syslogでエラー文を確認したところ、下記のような文章を発見。

ActionView::Template::Error (Webpacker can't find media ~
1. You want to set webpacker.yml value of compile to true for your environment
   unless you are using the `webpack -w` or the webpack-dev-server.
2. webpack has not yet re-run to reflect updates.
3. You have misconfigured Webpacker's config/webpacker.yml file.
4. Your webpack configuration is not creating a manifest.

この状態でコンパイルしてもTera Tarm側も「Node.js」云々書いてあったので、Node.jsの問題だと確認。Ver18・ついでに20に上げて試しましたが解決せず。

仕方なくサーバーを初期・Node.jsをVer16に落としたところ、無事に解決しました。

Ruby のバージョンが低い問題

こっちはNode.jsとは逆バージョン。Mastodon公式で推奨されているバージョンが古く、インストール途中で3.2.2を推奨されました。

RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.6
rbenv global 3.0.6

ここの数字を3.2.2に変えてインストールすればOK。

Gitで「detached HEAD」が出る問題

私はあまりGitを使わないんだよ!(悲痛な叫び)

と言うことで、超初歩的なところでつまずきました。「mainブランチにswitch→ブランチを作成→作ったブランチにSwitch」で無理やり解決。……今思ったけど、これもしかしてmainブランチに行くだけでよかったのでは?

SSL+Ngnixエラー

さくらのVPS、Ubuntu 20.04環境へのMastodon「再構築」の話 — Telmina’s notes

このブログ記事の「Ngnix+Let’s Encrypt」と同じ症状が発生。原因は上記のブログ通り「SSL設定してないのにSSL設定しろ」と言った矛盾したエラーを吐いてました。

対策は下記の流れで行いました。

  1. Ngnixをいったん止める
  2. /etc/nginx/sites-enabled/mastodonにある「ssl_certificate」関連のコメントを消す
  3. SSLをcertbot certonly --standalone -d 自分のドメインで取得する
  4. 取得後Ngnixを起動する

最後に

Xserver VPSで構築したから簡単やろ~と思ったら、全然そうでもなかったです。丸1日費やしたので、過去の自分への労りとともに備忘録を流します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次