「ひろの」の徒然日記帳 [IT tools, programming, software and more...]

プログラミング、ITツール、人工知能等興味のあることを徒然と書きます。Microsoft、C#が好きです

Twitterライク!自由でオープンなMastodonの構築 ( AWS EC2 - Ubuntu 16.04 - Docker環境編 )

ひろのです。


ちょっとBlog書いていなかったけど、
久しぶりに書き留めたいような内容だったので書いてみる。

Mastodonというサービスが急にはやり始めているようなので早速構築してみました。
Twitter風なオープンソースな分散型なサービスのようです。


github.com


構築してみた環境前提

  1. AWS EC2
  2. (Ubuntu Server 16.04)
  3. (Docker)
  4. (Docker-compose)

AWS環境構築

EC2でUbuntu16.04をベースにインスタンスを立ち上げ。
特に変わったことはしていません。

Dockerの導入

いろいろ作った環境をさくっと戻したりするのに便利です。

Docker composeの導入

Mastodon 公式で便利な設定を用意してくれているので
コマンド一つで沢山の環境が構築できます。


手順

GitからMastodonをClone

git clone https://github.com/tootsuite/mastodon

設定を変更する

cd mastodon
cp .env.production.sample .env.production
vi .env.production

特に設定しておくのは以下のあたり。
1.ドメインSSL有効かどうか。無効にする場合はfalse
2.各種Keyの設定。これは後でコマンドで3つ作り、
それをコピー&ペーストして設定する。
3.メール関連の設定。

LOCAL_DOMAIN=example.com
LOCAL_HTTPS=true

PAPERCLIP_SECRET=
SECRET_KEY_BASE=
OTP_SECRET=

SMTP_SERVER=smtp.mailgun.org
SMTP_PORT=587
SMTP_LOGIN=
SMTP_PASSWORD=
SMTP_FROM_ADDRESS=notifications@example.com

Keyは以下のコマンドで。最初だけは各種ビルドが走るので遅いです。
このコマンドを3回実行して、3回ともに表示されるKeyを設定します。
PAPERCLIP_SECRET, SECRET_KEY_BASE, OTP_SECRETのところ。

docker-compose run --rm web rake secret

実行。

docker-compose run --rm web rails assets:precompile
docker-compose run --rm web rails db:migrate
docker-compose up

東京リージョンの場合は、以下のようなURLでアクセスするとMastodonが表示される?!
AWSのセキュリティグループで3000番をあけてください。
http://ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com:3000

こんな感じのログイン画面が表示されたら成功です!

f:id:ino-hiro1012:20170415004829p:plain

一旦ここまで。