島根県石見地方特化マストドン:いわみどんを無料で作った話

先日、Heokuを使ってのMastodonインスタンス作成できるという記事を書いた。

gamelinks007.hatenablog.com

 

このときは、AWSアカウントなどを使っての画像やアイコン、ヘッダーの保存ができなかった。

保存できなかった原因としては、Heoku CLI コマンドやらMastodon内部の挙動で把握できていない部分があったため

(それと、個人的にAWSアカウントを作りたくなかった&渋々作ろうとしたら電話認証でコケたのも原因の一部)

 

で、その後も色々調べていると下記の記事を発見

qiita.com

 

どうやら、Google Cloud Storage を使ってMastodonにアップロードした画像データなどを保存できるそうな。

 

「よし、面白そうだ!実験的にインスタンス作ってみよう」

 

というわけで今回立ち上げたインスタンス:いわみどん

iwami-mastodon.herokuapp.com

 

 

以下、ざっくりとしたインスタンス:いわみどん立ち上げまでの流れ

1.まずHeokuにデプロイ

2.デプロイ実行中にGoogle Cloud Storage に登録し必要なアクセスキーなどを取得

3.デプロイ後、Heroku CLI を使って環境変数を設定する。

 

基本的には、1~3までの流れで基本的なMastodonの機能(TooTや画像のアップロード、アイコンやヘッダーの変更など)が使えるようになる。

 

 

より、詳細な流れとしては下記にある。

 

使用環境

 

1.Herokuにデプロイ

 

下記より「Deploy to Heroku」を押して、Herokuへのデプロイを行う

github.com

 

で、デプロイ欄の「App name」「LOCAL_DOMAIN」「LOCAL_HTTPS」「S3_ENABLED」を下記のように埋めていく

  • App name : iwami-mastodon
  • LOCAL_DOMAIN : iwami-mastodon.herokuapp.com
  • LOCAL_HTTPS : true
  • S3_ENABLED : false

LOCAL_HTTPS」を true にすることでHTTPS が有効になる。

あと、今回はGoogle Cloud Storage を使う予定なので「S3_ENABLED」 は false にしておく。

 

あとは、「Deploy app」 を押すことで自動的にMastodonインスタンスが立ち上がる。

 

とりあえず、Heroku ですることはここで一旦終了。

 

2.Google Cloud Storage に登録

 

こちらより Google Cloud Storage にアクセス

cloud.google.com

 

Googleアカウントを持っている場合であれば、アカウント名とパスワードを入力するだけ。ない場合は、アカウントを作る必要がある。

 

ログイン後、コンソール画面内にある「ストレージ」から「Storage」という項目をクリック。

「バケットを作成」というボタンがあるので、それをクリックして「iwami-mastodon」というバケットを作成する。このとき、「デフォルトのストレージクラス」は「Multi-Regional」にすること

 

バケットを作成した後は、画面左側にある設定をクリック。画面が切り替わった後、画面内に「相互運用性」という項目がある。

その中の「デフォルトプロジェクトにする」と「新しいキーを作成」をクリックする。

 

このとき、生成されたアクセスキーとシークレットアクセスキーは後で使うのでわかるようにしておくこと

 

これで、Google Cloud Storage での設定は終了

 

 

3.Gmailによるメール認証の前準備

 

いわみどんはGmailでのメール認証を使っており、その前準備としてGoogleアカウントで2段認証を行うように設定を変えておく。

 

Googleアカウントのアカウント情報内にある「ログインとセキュリティ」を選択。

その中にある2段認証プロセスを選択し、認証を行う。

 

その後、「ログインとセキュリティ」内の「アプリ パスワード」という項目を選択してパスワードを生成する。

このとき生成したパスワードは後で使うのでわかるようにしておくこと

 

これでメール認証の前準備は終了。

 

 

4.Heroku CLI を使って各種環境変数を設定。

 

Heroku CLI 自体のインストールに関してはこちらの記事を参考にしてください。

blog.w-hippo.com

 

インストール後、コマンドプロンプトを起動して以下のコマンドを入力

 

heroku config -a iwami-mastodon

 

すると、インスタンス環境変数一覧が表示される。

そこへ以下のコマンドを入力していく

 

 

以上、すべてのコマンドを入力すればMastodonの基本的な機能(メール認証や画像データの保存など)は使用可能になる。

 

・以下詰まったところ

Gmailでのメール認証は2段認証とアプリパスワードを使うことで比較的簡単に突破できたねー。

 

一番詰まったのがMastodonインスタンスから Google Cloud Storage に保存された画像データを参照するところだね。

 

 

github.com

 

この GitHubのIssue を参考にして下記のコマンドで解決できた。

 

heroku config:set S3_CLOUDFRONT_HOST=storage.googleapis.com/iwami-mastodon -a iwami-mastodon

 

 

とりあえず、安定して使えるようにはなったから良かった良かった。

あとは、のんびりインスタンス管理しながら色々試してみようかと思う。

 

 

 

以下、参考記事など

pyu666.hatenablog.jp

 

github.com

 

blog.okumin.com

 

qiita.com

 

Migrating from Amazon S3 to Google Cloud Storage  |  Cloud Storage Documentation  |  Google Cloud Platform

 

qiita.com

 

github.com

 

qiita.com

 

blog.w-hippo.com