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

今回は苦戦したところを備忘録として残しておこうと思います!
そもそもなぜContaboを選んだのか??
今回はコスパと性能を重視して選びました。
Contaboは日本のVPSに比べるとスペックが高いのが特徴。
日本のRAM4GBプランと同じ価格帯で8GBになっているなど、日本のサーバー会社に比べると1段上の性能を提供しています。
今回「Mastodon+Elasticsearch+kuromoji」のセットで行いたかったので、性能が良いContaboにしました。
Sプラン(8ドル)+日本リージョン(3.5ドル)の約12ドル(2023/04/26時点で約1,600円)の計算です。
余談
Contaboを新規登録する際、身分証明書を提示(あちらの国の事情)を要求されます。
個人情報の画像を渡したくない場合は、登録を避けた方がいいかもしれません。
大まかな流れ
- ドメインの契約(今回は前回のおひとりさまサーバーのURLを流用)・DNS設定
- 必要な言語やもろもろをインストール
- MastodonをGitHubから持ってくる
- Mastodonのセットアップ
- SSL化
- 起動
https://docs.joinmastodon.org/admin/install/
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エラー
https://notes.telmina.com/rebuild-mastodon-server-on-ubuntu-20-at-sakura-vps
このブログ記事の「Ngnix+Let’s Encrypt」と同じ症状が発生。
原因は上記のブログ通り「SSL設定してないのにSSL設定しろ」と言った矛盾したエラーを吐いてました。
対策は下記の流れで行いました。
- Ngnixをいったん止める
/etc/nginx/sites-enabled/mastodon
にある「ssl_certificate
」関連のコメントを消す- SSLを
certbot certonly --standalone -d 自分のドメイン
で取得する - 取得後Ngnixを起動する
最後に
Xserver VPSで構築したから簡単やろ~と思ったら、全然そうでもなかったです。
丸1日費やしたので、過去の自分への労りとともに備忘録を流します。