1133 文字
6 分
Mastodonインストールバトル

Mastodonインストールバトルに勝利した#

今なら一からドキュメント見ながらやればいけるやろと唐突に始めました。
できあがったのがこちら

どうせならとGlitch Edition1の方で構築しました。

glitch-soc
/
mastodon
Waiting for api.github.com...
00K
0K
0K
Waiting...

構築手順は本家と同じだよの一言で済ませていました。

glitch-soc is based on Mastodon’s main branch. The installation steps are thus the same as described in the Mastodon documentation.

実際にここを見ながらでできました。

鯖すぺっく#

VPSConoHa V3
CPU3core
RAM2GB
OSUbuntu 22.04 LTS

RAM 1GBは心許ないと思ったのでその上くらいのを。
実際にXserve SNSでホスティングしてもらったもので戦慄していたのもありましたね。

ハマりどころさん#

実際にコピペしながらで順当に進められました。証明書周りは前回の記事同様の方法で行いましたが。
.env.productionの設定も、

RAILS_ENV=production bin/rails mastodon:setup

にて対話式でちょうどいい感じに設定ができたのですが、ラストのassets:precompileで以下のエラーでコケました。

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

ここさえ突破できれば後はといったところだったのですが……。
なんとなくメモリが不足していると言われてるなと思ったのでswapを確認しましたが、既に2GBほど追加で設定済みであり特に不足してる感はなく……。
念のため、更に4GB分追加して再度試みましたが、同様のエラーが発生し……。

ヒープ領域というのがあるらしい#

上記のERRORメッセージでそのまま検索かけたところ、ヒープ内領域が不足してると出るとの知見が。

最初からちゃんと検索していれば……。大事ですねこういうの。
デフォルトのヒープサイズは下記のコマンドで確認できました。

node -e 'console.log(Math.floor(v8.getHeapStatistics().heap_size_limit/1024/1024))'

確認したところ1007とでました。微妙に1GBに届かない値っすね……。
こちらの値とりあえず2倍程度に設定してリトライ。変更は下記のコマンドで行うようです。

export NODE_OPTIONS="--max-old-space-size=値"

2048で実施。なぜかその後値を確認すると2070と微妙に増えていましたが、変更できていました。
この状態で再度assets:precompileをリトライ。

RAILS_ENV=production bundle exec rails assets:precompile

を実行し、無事に通ったのを確認。残りはNginxの設定を済ませ、Deamon化後にStartして完了です。
無事設定したドメインでアクセスして動いているのを確認。作成しておいたOwnerロールつきの垢でログインしてヨシ。👈

Cloudflare R2#

ちなみに、せっかくなのでオブジェクトストレージも設定しておきました。
.env.productionに設定を記載します。
Cloudflare側もMastodonでの使用を想定してるのか公式のガイドが存在しました。ありがたや。

実際に記載する内容はここを見ながらですね。
今回は珍しく一発で成功し、アップロードした画像がちゃんと作成したバケットに入っていました。画像のURLも設定したドメインになっているのも確認。

完走した感想#

唐突に始めるも面倒ではあり、思わぬトラブルもありましたが、意外とやれるものですね。
Mastodonの存在を知った頃2にチャレンジしたこともありましたが、何もわからん状態で某VPSのスタートアップスクリプトで済ませてた頃に比べると成長を感じます。
その鯖は1か月ちょいくらいでいつしかのアプデで失敗して爆破したという哀しき過去───。

せっかく上手く構築できたのだし、今後も使うかどうかはともかく前よりかはもうちょっと存続させたいっすね。

Footnotes#

  1. Mastodonのフォーク。Markdownが使えたり、ローカル限定(某SNSの連合に流さないのアレ)が使えたりします。

  2. 2017年の12月くらい。実際にインストールバトルをやろうとしたのは2018年頃だった気がします。

Mastodonインストールバトル
https://unhappysalt.life/posts/mastodonインストールバトル/
作者
ナナシロ
公開日
2024-12-26
ライセンス
CC BY-NC-SA 4.0