一昨年、初トライして壮絶に失敗したSNSサービスであるMastodonのインストールをあれから1年9か月思うことがあって再びトライしたところ、まぐれで成功したようなのでRocky Linux 8 へのインストールでつまづいた部分をめも。
基本は Mastodonインスタンス構築(Mastodon)| Almalinuxで自宅サーバー構築 です。(いつも大変勉強になっております。ありがとうございます。)
今回はNode.js とrubyのバージョン管理にあらかじめ、nvm と rbenv をインストールしてMastodon のバージョンと擦り合わせをしました。
nvmのインストール
# curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# . ~/.nvm/nvm.sh
# nvm install v.20.11.1 (nvm install --ltsで最新stableしたときはrubyのバージョンを調節する必要がある)
# node -v
rbenvによるバージョン切り替え
# ruby versions
# rbenv install 3.2.2
# rbenv local 3.2.2
# ruby -v
最終的には以下のバージョンの組み合わせになりました。
Node.js 20.11.1
Yarn(npm) 10.2.4
PostgreSQL(psql) 16.2
Ruby 3.2.2
Mastodon:i18n/crowdin/translations -> origin/i18n/crowdin/translations (forced update)
前提としてPostgreSQL16は別途、Rocky Linux 8/Alma Linux 8 に PostgreSQL 16 をインストールするを参考にリポジトリからインストールしています。
今回は、ffmpeg, ffmpeg-devel のインストールでこけたのですがあらかじめ、rpmfusionをインストールすると良かったみたいです。(RHEL系Linux(Oracle Linux)でSpleeterをセットアップしてみる)
# dnf install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
# dnf install ffmpeg ffmpeg-devel libyaml ruby-build
そして、bundle install ですが今回は代わりに以下のコマンドであらかじめconfig setすると良かったようです。
$ bundle config build.pg --with-pg-config=/usr/pgsql-16/bin/pg_config
$ bundle config set deployment true
$ rbenv exec gem install bundle
そして bundle install
$ bundle install
管理者登録コマンドは以下の通りです。またユーザー承認には–approveオプションを付与します。
$ RAILS_ENV=production bundle exec bin/tootctl accounts modify tootmaster --role Admin
$ RAILS_ENV=production bundle exec bin/tootctl accounts modify testuser --approve
コマンド詳細は公式マニュアル Using the admin CLI – Mastodon documentation を参考にして下さい。
以上、Mastodonインストールめもでした。最後までお読みいただきありがとうございました。