公式のwikiが大変親切です。前述のMastodonと違って日本語表記なのも、日本人には嬉しい点ですね。
https://github.com/kmycode/mastodon/wiki/Installation
本家Mastodonと同じ方法で建てる場合、3.Mastodonなどをインストールしていく項目について、
su - mastodon
git clone https://github.com/kmycode/mastodon.git live && cd live
git checkout kb(必要なkmyblueのバージョンのタグ)
などとすれば、kmyblueが構築できると思われます。
kmyblueにはLTS(安定しており、更新頻度の少ないバージョン)と開発版(積極的に更新されるバージョン)がありますので、タグをしっかり確認しましょう。
一方で、kmyblueにはMisskey同様、自動セットアップスクリプトが存在します。筆者はこれを利用してkmyblueを建てました。
このスクリプトでは、2GB以上のRAMが必要なようです。
使用しているのがUbuntu 20.04、22.04の場合
sudo /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/kmycode/mastodon/kb_development/install/13.0/setup1.sh)"
Ubuntu 24.04の場合
sudo adduser --disabled-password mastodon
sudo /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/kmycode/mastodon/kb_development/install/13.0/setup1.sh)"
これらを実行すると、セットアップの最初で、インストールするkmyblueのバージョンを聞かれます。LTSを使いたい場合はlts、最新版はlatestを入力し、Enterを押します。そのあとはセットアップが進みます。
このスクリプトの実行には時間がかかるほか、実行途中で何度かユーザーの確認を求める画面が出ます。具体的には、環境構築の一環で背景が赤紫色になる場合、mastodonというユーザーを作成するときのユーザー情報入力などのことですが、基本的には全て何も入力・変更せずEnterで大丈夫です。
スクリプトの区切りがつくと画面にも指示が出ますが、それに従って以下のコマンドを実行します。
sudo su - mastodon
./setup2.sh
2つ目のスクリプトも完了すると、kmyblueのセットアップができるようになります。途中で設定に失敗した場合は最初からやり直す必要が発生するため、自動インストールスクリプトに初期設定開始コマンドは含まれていないとのことです。
また、自動セットアップスクリプトではPostgreSQLのパスワードが ohagi と設定されていますが、初期設定の前にそのパスワードを変更したい場合は以下の手順を挟んでください。
exit
sudo -u postgres psql << EOF
ALTER USER mastodon WITH PASSWORD '変更したいパスワード';
EOF
sudo su - mastodon
初期設定開始コマンドは以下です。
cd live
RAILS_ENV=production bundle exec rake mastodon:setup
初期設定後はCertbotの設定を行います。作業用ユーザーに exit で戻りましょう。
下記内のDOMAINを自分のドメインに置き換えて実行してください(大カッコは不要です)
sudo cp /home/mastodon/live/dist/nginx-before-certbot.conf /etc/nginx/sites-available/mastodon
sudo vi /etc/nginx/sites-available/mastodon
sudo sed -i s/example.com/[DOMAIN]/g /etc/nginx/sites-available/mastodon
sudo systemctl reload nginx
sudo certbot --nginx -d [DOMAIN]
sudo cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon
sudo sed -i s/example.com/[DOMAIN]/g /etc/nginx/sites-available/mastodon
sudo nano /etc/nginx/sites-available/mastodon
ここで、SSL証明書ファイル設定(2行)のコメントを外してドメインを置き換えます。
ssl_certificateとssl_certificate_keyを含む行の先頭に//などコメントであることを示す記号があると思うので、それを削除してください。
ssl_certificate /etc/letsencrypt/live/[DOMAIN]/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/[DOMAIN]/privkey.pem;;
削除し終えたら、保存して、NGINXを再起動させます。
sudo systemctl reload nginx
そして満を持してkmyblueを起動させます。
sudo systemctl enable --now mastodon-web mastodon-sidekiq mastodon-streaming