理由
- UIが好きになれなかった
- 文字コード廻りでエラーが発生した
- ドキュメントが少ない
構成
AWS Lightsail
- 5ドルプラン(メモリ1GB・SSD40GB)
- Ubuntu 22.04
今回はDockerコンテナではなく、ホストに直接インストールした。
知見
インストールは公式の Installing from source に従ってインストールした。
スワップ
スワップは必ず用意する。1GBの場合、スワップは3GBでいいというネット情報を鵜呑みして3GB用意。
sudo dd if=/dev/zero of=/swapfile bs=1M count=3072
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
起動時に有効になるように /etc/fstab
へ追記
echo "/swapfile swap swap defaults 0 0" | sudo tee -a /etc/fstab
freeコマンドで有効になってるか確認する。
free -h
total used free shared buff/cache available
Mem: 924Mi 666Mi 63Mi 11Mi 195Mi 86Mi
Swap: 3.0Gi 829Mi 2.2Gi
初回セットアップ時のアセットファイルのコンパイルで失敗する
メモリが足りないため失敗する。
一旦失敗したファイルを削除する。
bundle exec rake assets:clobber RAILS_ENV=production
nodeのオプションを付けて再コンパイル
bundle exec rake assets:precompile RAILS_ENV=production NODE_OPTIONS=--max_old_space_size=924
これで成功した。
メールの再テスト
サーバからのメールちゃんと届く?(Mastodonサーバ管理者向け チェックリストの解説) より
mastodonユーザーで、liveディレクトリより
RAILS_ENV=production bin/rails runner "UserMailer.new.mail(to:'admin@example.com', subject: 'test', body: 'awoo').deliver"
で再度メールを飛ばせる。リンクした記事は知見が多くて助かる。
まとめ
Mastodonインスタンスにメモリ1GBでは正直つらい😭