さくらのクラウドでマストドンのインスタンスをサブドメインで作る

タイトルに「の」と「で」が多すぎますが気にせずいきますこんばんは。

さくらのクラウドで、いま話題のMastodon(マストドン)のインスタンスを作成してみました。
Mastodonは普通にソースを展開して自分で普通にセットアップする方法や、Docker-composeを用いた方法などがありますが、さくらのクラウドでは、スタートアップスクリプトを用いて、管理画面から必要な項目を入力、スクリプトを選択するだけで簡単に立ち上げることができるようになっています。

さくらのクラウドのMastodonスタートアップスクリプト

実は少し前にこの方法で立ち上げたりもしていたのですが、本当に簡単でサクサクできてもの自体は30分程度で完了します。
管理者ユーザーを作成するには、通常のユーザー登録と同じ手順で画面からユーザーを作成後、一度コンソールからログインして、mastodonユーザーで下記のコマンドを実行する必要があります。


# su - mastodon
% cd ~/live
% bundle install
% RAILS_ENV=production bundle exec rails mastodon:confirm_email USER_EMAIL=登録時のメールアドレス
% RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=作成したユーザーID
mastodon:confirm_email でメール受信確認をスキップして承認済みに、mastodon:make_admin で指定したユーザーを管理者に設定します。

これでインスタンス管理者として様々な操作をGUI上から行えます。

同類の記事は恐らく既にたくさんあるので、詳しい作り方に関してはそちらを参考にしてください。

気になるところが

上記のさくらのクラウドニュース内で記載されているMastodonスタートアップスクリプトでの構築方法に関する記事内で、一つ気になるところがありました。
それが
※サブドメイン(例:mstdn.example.com)には対応していません。
という記述部分です。

つまり、このスタートアップスクリプトを利用した場合、サービス専用のドメインを用意する必要があります。
既存のドメインをなるべく利用したい場合には向かない、と言うことになります。

既存のドメイン名を維持しつつ、サブドメインでの運用はできないのか

これには、スタートアップスクリプト内で、サーバ作成時のIP割り当てや、メール関連の設定も含めて、さくらのクラウド内のDNSを用いて一括で行っているため、このような制約になっています。
スクリプトの詳細については管理コンソールの「設定」から「スクリプト」を辿ると、パブリックスクリプトとして公開されていますのでそちらを見てみると良いです。

話を戻して、仕様なら仕方ないな、と言うところですが、
NS渡してあげればサブドメインでも行けるのでは
と、ふと思い立ったのでこちらを試してみました。

サブドメインパートにNSを割り当てる

まず適当なドメインを用意します。今回はmxe.pwという適当なドメインを使用します。
DNSサービスでサブドメインのレコードタイプをNSにして設定します。
今回はCloudFlareを使用していたので、CloudFlare上で下記の様に設定しました。



接続先のネームサーバはさくらのクラウド画面から指定されるので、設定手順に沿って設定する中で指定されたものを設定しています。
これで、mstdn.mxe.pw のDNSサーバはさくらのクラウドのDSNサーバに向くようになりました。

設定方法の説明ページに沿って設定を続けます

ドメイン部分は上記で設定した mstdn.mxe.pw に読み替えて、APIキーなどを準備しながら設定を続けていきます。このあたりは省略します。


結論

できました。

なので、サブドメインが使えない、というよりは、サブドメインでも良いけど、その場合はネームサーバの割り当てができればOKということでした!

ただし当たり前ですが、現在使用しているドメインで利用しているDNSサーバが、NSレコードで対応している場合に限ります。

最近作ったアプリの話

先日、コナミ社の提供している コナステ のダウンロードコンテンツゲームを1クリックで起動できるアプリを作り、公開した。 Ks Game Launcher  ( Github ) 作った理由として、インストール時に作成されたショートカットをクリックするとブラウザが起動し、ログインし...