CentOS7にMastodonをインストールする


マストドン設置の手順をメモ。

まず、yum updateを実行する

yum update

SELinuxを無効化しておく

vim /etc/sysconfig/selinux

上記設定ファイル「SELINUX=disabled」に設定

必要なパッケージをインストールする

nginxをインストール

vim /etc/yum.repos.d/nginx.repo

ファイルの内容を

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

として、保存する

yum -y install nginx --enablerepo=nginx

でnginxをインストール

docker-engineをインストール

vim /etc/yum.repos.d/docker.repo

ファイルの内容を

[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

として、保存する

yum install -y docker-engine

でdocker-engineをインストール

docker-composeをインストール

docker-composeはコンテナの管理を便利にしてくれるものです。
ドキュメントに従ってインストール
https://docs.docker.com/compose/install/

curl -L https://github.com/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/bin/docker-compose

/usr/binにダウンロードし、権限を付与する

chmod +x /usr/bin/docker-compose

Mastodonをインストール

Mastodonのファイルを「/opt/mastodon」に設置します。

cd /opt
git clone https://github.com/tootsuite/mastodon.git
cd mastodon
git checkout $(git tag | tail -n 1)

次にmastodonの設定ファイルを編集していきます。
最初に下記コマンドを実行します。

docker-compose run --rm web rake secret

キーが出力されるので、コピーします。
コマンドを3回実行して、それぞれのキーをコピーします。
それぞれのキーをコピーしたら、設定ファイルを編集します。

cp .env.production.sample .env.production
vim .env.production

それぞれ設定項目を設定していきます。

LOCAL_DOMAIN=[ホスト名(exiz.orgなど)]
LOCAL_HTTPS=false(ssl証明書を適用する場合はtrueに設定)

PAPERCLIP_SECRET=[1回目に生成されたキー]
SECRET_KEY_BASE=[2回目に生成されたキー]
OTP_SECRET=[3回目に生成されたキー]

DEFAULT_LOCALE=ja

# メール設定
SMTP_SERVER=smtp.example.com
SMTP_PORT=587
SMTP_LOGIN=[SMTPサーバのユーザー名]
SMTP_PASSWORD=[SMTPサーバのパスワード]
[email protected]
#SMTP_DELIVERY_METHOD=smtp # delivery method can also be sendmail
SMTP_AUTH_METHOD=plain
#SMTP_OPENSSL_VERIFY_MODE=peer
SMTP_ENABLE_STARTTLS_AUTO=true

これだけ実行したらデータベースのマイグレーションとアセットのプリコンパイルを実行する

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

Mastodonインスタンスのデータベースを永続化させるために、docker-compose.ymlを下記のようにコメントアウトを外しておく

db:
    restart: always
    image: postgres:alpine
### Uncomment to enable DB persistance
    volumes:
      - ./postgres:/var/lib/postgresql/data
 
  redis:
    restar: always
    image: redis:alpine
### Uncomment to enable REDIS persistance
    volumes:
      - ./redis:/data

Mastodonをビルドして起動する

docker-compose build
docker-compose  up -d

http://localhost:3000/でアクセスが確認できれば完了です。

nginxの設定は下記ドキュメントを参考にリバースプロキシで:3000からのレスポンスを返すようにします。
sslの設定は割愛・・・。
https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Production-guide.md

Mastodonの再起動

インスタンスを再起動する場合は下記のようにします。

docker stop $(docker ps -a -q) && docker-compose up -d

この投稿へのコメント

コメントはありません。

コメントを残す

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL