日記

日本語の勉強のためのブログ

Azureを使ってMisskeyサーバを立てる試み

一度クラウドサービスを使ってみたかったので,Azureを用いてMisskey鯖を立ててみる.

注意

あくまでもAzureの学習がてら試しに立ててみただけであり,長期運用は考慮していない.

Azure側の設定

今回はAzure for StudentsサブスクリプションでVirtual Machinesを利用する.
Ubuntu22.04,B1ms(1vcpu, 2GiBメモリ)の仮想マシン*1を立て,設定の「ネットワーク」→「受信ポートの規則」で3000番ポートを追加する(名前やプロトコルは変更不要).
その後ssh等を使い仮想マシンに接続する.

DockerでMisskeyコンテナを動かす

次に環境構築に移る.Dockerを入れたのちMisskeyをビルドするという手順で行う.

# install docker
## ref: https://docs.docker.com/engine/install/ubuntu/
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# sudo docker run hello-world

# prepare to build misskey
## ref: https://misskey-hub.net/docs/install/docker.html
git clone -b master https://github.com/misskey-dev/misskey.git
cd misskey
git checkout master
cp .config/docker_example.yml .config/default.yml
cp .config/docker_example.env .config/docker.env
cp ./docker-compose.yml.example ./docker-compose.yml

作業の途中だが,ここでdocker-compose.ymlを編集する.具体的には次のリンクにあるように,buildの行を消してimage: misskey/misskey:latestを追記する.

https://qiita.com/Soli0222/items/1a8f854706528b63a8e2

それが終わったら次を実行.

# build misskey
sudo docker compose run --rm web pnpm run init
sudo docker compose up # エラー発生を確認するためデタッチせず実行

ここでエラーが出なければ完了.

ただ自分の環境では,misskey-web-1の起動時にInternal Error: Error when performing the requestエラーが出た. 対策もいくつか見つかった *2 *3 が,解決には至らず.
結局,一度misskey-web-1を削除してから再度buildを行うことでエラー回避に成功したので,それで進める.

# rebuild misskey
sudo docker rm misskey-web-1
sudo docker compose run --rm web pnpm run init
sudo docker compose up

これでログにMisskeyのロゴが流れてきたら成功.ブラウザで<仮想マシンのIPアドレス>:3000にアクセスすれば管理者アカウントの作成画面に移ることができる.

misskey-web-1    |   _____ _         _
misskey-web-1    |  |     |_|___ ___| |_ ___ _ _
misskey-web-1    |  | | | | |_ -|_ -| '_| -_| | |
misskey-web-1    |  |_|_|_|_|___|___|_,_|___|_  |
misskey-web-1    |  v13.13.2                |___|