すてにゃん氏の技術ぶろぐ

技術っぽいこと書きます

Azure VMで個人用Mastodonインスタンスをシュッと立てた

華金だし最近流行ってるしシュッと立ててみようとなり、立てた。

Azure Virtual Machines

azure.microsoft.com

AzureにログインしてPortal画面からVirtual Machinesを見つけて雑に作ります。

個人用なのでBasicのA0という1番小さいやつを選んで作りました。メモリは0.75GB。後ほどこれでは足りないと気付きA1のメモリ1.75GBのほうにあげました。
azure.microsoft.com

デフォルトの設定だと既にssh許可されてる感じでした。IPアドレスみつけてそこにsshします。

Mastodonの設定

sshできれば後はAWSのEC2インスタンスとかと同じで、公式ドキュメントなりググるなりします。

今回はシュッとしたかったのでdockerでやりました。
github.com

sshした後にMastodonをgit clone、.env.productionファイルを編集、docker-compose build実行。

必要に応じてapt-get install。

docker-compose upして、ブラウザで先程のVMIPアドレスにアクセスし、うまく行けばMastodonの最初の画面になります。

監視

AzureのPortal画面でもすでにCPUやMemoryのグラフがみれて便利。Azure Monitorというサービスでも監視ができる。

また、サーバ管理・監視サービスのMackerelでもエージェントを入れたら簡単に監視できる。Mackerelの画面で「新規ホストの登録」に行き、対象のOSの手順に従うと簡単にインストールできます。自分はAzure VMのOSでUbuntuを選んだので、debパッケージのワンライナーVMsshした状態で実行したところ、少し待ったら勝手に監視がMackerelで開始されて便利だった。

ハマりポイント

ブラウザでアクセスしてもみれない

Azure VMデフォルトではsshのみ許可になっていたので、80番ポートや3000番ポートなどを必要に応じてあける

mkmf.rb can't find header files for rubyってなった

`sudo apt-get install ruby-dev` したら解決した

docker-compose buildが途中でコケる

すてにゃんの場合はVMのメモリが足りなかったので0.75GB→1.75GBにあげました。
この人と同じ問題だった。

github.com