- Windows 10
- Docker Toolbox
- docker-machine version 0.10.0, build 76ed2a6
- docker version 17.03.0-ce, build 60ccb22
- docker-compose version 1.11.2, build f963d76f
- VirtualBox
- Mastodon 1.3.1
- ソースコード取得
- mastodon を clone
- 最新の tag を checkout
- Docker Quickstart Terminal なりでホストを起動しておく
- docker-compose.yml を開いて以下のコメントを外す
db: restart: always image: postgres:alpine ### Uncomment to enable DB persistance # volumes: # - ./postgres:/var/lib/postgresql/data
redis: restart: always image: redis:alpine ### Uncomment to enable REDIS persistance # volumes: # - ./redis:/data
- .env.production.sample をコピーして .env.production を作成
- SECRET の作成
-
以下のコマンドを実行
docker-compose run --rm web rake secret
-
生成されたキーをコピー
-
.env.production の PAPERCLIP_SECRET にペースト
PAPERCLIP_SECRET=70414fade63bce99d2c233c1038ea661e79717db2e833967e2c77ead631078ca62e21a8162af3e0693bfd15ec176d94f3d3339cf61797185ed72e2ed91058eb6 SECRET_KEY_BASE= OTP_SECRET=
-
上記操作を繰り返して残りの2つも設定する
-
- .env.production を編集する
- LOCAL_DOMAIN
(とりあえず動けばいいのでこれでいい)# Federation LOCAL_DOMAIN=localhost:3000 LOCAL_HTTPS=false
- SMTP の設定
今回は gmail を使う ※2段階認証が無効だと安全性の低いアプリと判断され、ブロックされる。 http://karur4n.hatenablog.com/entry/2015/03/07/234600SMTP_SERVER=smtp.gmail.com SMTP_PORT=587 SMTP_LOGIN=ユーザー SMTP_PASSWORD=アプリケーションパスワード SMTP_FROM_ADDRESS=アドレス SMTP_DOMAIN=gmail.com #SMTP_DELIVERY_METHOD=smtp # delivery method can also be sendmail #SMTP_AUTH_METHOD=plain #SMTP_OPENSSL_VERIFY_MODE=peer #SMTP_ENABLE_STARTTLS_AUTO=true
- LOCAL_DOMAIN
- マウントボリュームの編集 (docker-compose.yml)
マウントデータの永続化ができていなかったので、デフォルトのマウントパスを以下のように書き換えます
./xxxx → /mnt/sda1/docker/mastodon/xxxx
-
ビルド
docker-compose build
-
データベース初期化
docker-compose run --rm web rails db:migrate
-
アセットのプリコンパイル
docker-compose run --rm web rails assets:precompile
-
以下のコマンドを実行
docker-compose up -d
起動には少し時間がかかります
様子をみるときはdocker-compose logs -f
-
192.168.99.100:3000 にアクセスする
※ VirtualBox 上の Docker ホストの場合はホストの IP にアクセス
ホストの IP はターミナル起動したときに表示されます。(たいてい 192.168.99.100 ?) -
停止
docker-compose stop
-
破棄
docker-compose down