ostatus.taiyolab.com is one of the many independent Mastodon servers you can use to participate in the fediverse.
藤井太洋(Taiyo Fujii)のソロインスタンス

Server stats:

1
active users

藤井太洋, Taiyo Fujii

せっかくなのでAWSのおひとりさまインスタンスを作った方法など紹介してみる

検索すると2017年ごろの導入記事が多く(私が前回失敗した原因の)Docker前提だったりするんだけど、そんな中で参考になったたのはこちら

AWS環境で、Mastodonを構築する
qiita.com/taro-hida/items/07bd

AWSのリージョンは前回と同じus-west-2(オレゴン)。インスタンスも前回と同じ、無料枠のある t2.microに8GBのSSD。

データ領域は前回ハマった要因の一つなので、初めからS3を導入する予定で進めた

設定した順番は
1. EC2のインスタンス作成
1-1. セキュリティグループを設定
2. S3バケット作成
2-0. アクセスキーIDとシークレットアクセスキーを取得
2-1. バケットを使うユーザーグループを作成
3. EC2起動
3.1 swap作成

ここで公式が提供しているインストラクションに入る

mastodon official install

docs.joinmastodon.org/admin/in

QiitaAWS環境で、Mastodonを構築する - QiitaAWS環境で、いつも私がMastodonを構築する手順を解説していきます。 構成 EC2インスタンス (t2.micro) Ubuntu 18.04 LTS 1台 Mastodon v3.1.4 (現時点の最新タグ) S3バケット...

apt, NodeJs, PostgreSQL, System packages, Yarn, Ruby まで準備。

Rubyのインストールにやたらと時間がかかった

ここで mastodon というユーザーを作ってログイン

gitからレポジトリをクローンして、インストールスクリプトを起動

RAILS_ENV=production bundle exec rake mastodon:setup

Webpackがコケるけど、プロンプトはその後も続き、インスタンスの設定が終わる

ここでルートに(sudoのできるUbuntuに)戻り、nginxの設定。

ここから目に見えてハマった

インストラクション通りにやると、nginxが起動しない。理由は

/etc/nginx/sites-available/mastodon

の記述。example.com を自分のドメインに書き換えるのを忘れていた。

nginxが起動しても画面は真っ白だったので、エラーを読む(方法を検索する)

journalctl -u mastodon-web

これでWebpackできてなかったことを知った

Webpackを使うリソース裏コンパイルは、

RAILS_ENV=production bundle exec rails assets:precompile

しかしメモリが足りないと言われコンパイルは終わらない

RAILS_ENV=production bundle exec rails assets:clobber

をつけると、エラーがnodeのリソース不足に変わったので、

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

でnodeが使える量を増やしてから

RAILS_ENV=production bundle exec rails assets:precompile

するとコンパイルが終了した

ここでrootに戻ってnginxを再起動 お馴染みの三点セットを入力

systemctl restart mastodon-web
systemctl restart mastodon-sidekiq
systemctl restart mastodon-streaming

ゾウさんが現れてエラーを告げる
もう一歩だ

ベタにインスタンスの再起動を実行すると、ログイン画面が表示された

だいたい二時間

そう難しくないので挑戦してみるのはアリですよ

ちょっとだけ失敗したなーと思ってるのは、シングルユーザーで立ち上げてしまったこと。
もう一つニュース収集用のアカウントがあると、ローカルのタイムラインが賑やかになるんですよね。