ソフトウェア開発部の oka です。

Mastodon が流行の兆しがあるとの事で、インスタンスを立ち上げてみました。
手っ取り早くローカルサーバ上で、Mastodon を表示させました。
セキュリティや、お約束の設定などを省略してます。

Mastodon とは

Twitter ライクなサーバー分散型の SNS。
オープンソースで提供されていて、独自にサーバを作る事ができる。

環境

  1. CentOS 7
  2. Git
  3. Docker/Docker-compose
  4. Mastodon

セットアップ

Git のインストール

yum -y install git

Mastodon のインストール

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

Docker/Docker-compose のインストール

yum -y install yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce
curl -L https://github.com/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

標準のリポジトリには見つからなかったりしたので、色々してインストール。

Docker 起動と自動起動

systemctl enable docker
systemctl start docker

起動確認

docker version
Client:
 Version:      17.03.1-ce
 API version:  1.27
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Mon Mar 27 17:05:44 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.03.1-ce
 API version:  1.27 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Mon Mar 27 17:05:44 2017
 OS/Arch:      linux/amd64
 Experimental: false

ファイアウォールの設定

firewall-cmd --add-port=3000/tcp --zone=public --permanent
firewall-cmd --reload

Mastodon は3000ポートらしいので開放。

シークレットキーの生成

docker-compose run --rm web rake secret

3つ必要なので3回繰り返す。
キーをメモしておく。

設定ファイルの作成

cp .env.production.sample .env.production

設定ファイルサンプルをコピー。

# 省略
LOCAL_DOMAIN=oka_mastodon.example.com
LOCAL_HTTPS=false
# 省略
PAPERCLIP_SECRET=<シークレットキー>
SECRET_KEY_BASE=<シークレットキー>
OTP_SECRET=<シークレットキー>
# 省略

上記を編集。

Mastdon の起動

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

実行

http://<ドメイン名>:3000/

Mastodon トップページ

Mastodon トップページ

この Mastodon インスタンスの説明

この Mastodon インスタンスの説明

Mastodon は”トゥート”って呼ぶのか…