こんにちは、ごっちです。
時間ができたので、何かしらの勉強したいよねーっていうやつからDockerの勉強をしたいなぁと。
なんとなく前回は RaspberryPi に Mastodon を入れてみようと思ったんだけど失敗。今回はDockerを使って自作のなにかを作ってみるかとも思ったけど、なんか思い立ってMastodonをLocalで立ててみるというお話。
今回は、DockerでMastodonをローカルで動かしてみた! ので、その方法をご紹介。 を参考に構築してみます。
公式のGet started with Docker for Windowsを参考にダウンロードしてくる。 bash でチャレンジしてみようとも思ったけれどもなんかうまくいかずに終わってしまったので、パッケージングされているものを使いました。
ダウンロードしてぽちぽち設定すれば終わりますね。
コマンドプロンプトで
PS C:\Users\username> docker --version
Docker version 17.03.0-ce, build 60ccb22
PS C:\Users\username> docker-compose --version
docker-compose version 1.11.2, build dfed245
それぞれ実行できればOK!
まぁ、Githubから.zipをダウンロードするなりで大丈夫です。カンタンカンタン
.env.production.sample
を .env.production
に名前を変更する。
.env.production
の中身を編集する
# Federation
#LOCAL_DOMAIN=example.com
#LOCAL_HTTPS=true
LOCAL_DOMAIN=localhost:3000
LOCAL_HTTPS=false
まぁ、localhostだけで確認するだけなので、httpsアクセスはいらないですよね。
コマンドプロンプトで
> docker-compose build
reating network "mastodon_default" with the default driver
Pulling redis (redis:alpine)...
alpine: Pulling from library/redis
627beaf3eaaf: Pull complete
a503a4771a4a: Pull complete
72c5d910c683: Pull complete
6aadd3a49c30: Pull complete
adf925aa1ad1: Pull complete
0565da0f872e: Pull complete
....
時間がかかるので、ゲームでもしながら待つ。
.env.production
のPAPERCLIP_SECRET
, SECRET_KEY_BASE
, OTP_SECRET
が空欄だったはずなので、そのキーを生成します。
コマンドプロンプトで
> docker-compose run --rm web rake secret
key-string
を3度実行する。それぞれの出力結果をPAPERCLIP_SECRET
, SECRET_KEY_BASE
, OTP_SECRET
の右辺に張り付ける。
データベースを作成する。
> docker-compose run --rm web rails db:migrate
CSSや画像を作成します。
> docker-compose run --rm web rails assets:precompile
これも時間がかかるので、ゲームしながら待つ。
> docker-compose up
mastodon_redis_1 is up-to-date
mastodon_db_1 is up-to-date
Starting mastodon_sidekiq_1
Starting mastodon_streaming_1
Starting mastodon_web_1
Attaching to mastodon_redis_1, mastodon_db_1, mastodon_sidekiq_1, mastodon_web_1, mastodon_streaming_1
db_1 | The files belonging to this database system will be owned by user "postgres".
db_1 | This user must also own the server process.
しばらくして
web_1 | => Booting Puma
web_1 | => Rails 5.0.2 application starting in production on http://0.0.0.0:3000
web_1 | => Run `rails server -h` for more startup options
sidekiq_1 | 2017-05-10T10:24:25.207Z 1 TID-grch3btb4 INFO: Booting Sidekiq 5.0.0 with redis options {:url=>"redis://redis:6379/0"}
が確認出来たら、 http://localhost:3000 にアクセスして確認する
なんかおかしいんですけど、、、、CSSと画像がきちんと当たってないんですけど。。。
もういちどprecompileしてみたけど、なんか残念。。。別の機会に挑戦してみます。。
- Get started with Docker for Windows, https://docs.docker.com/docker-for-windows/
- DockerでMastodonをローカルで動かしてみた! ので、その方法をご紹介。, https://ai-create.net/magazine/2017/04/15/mastodon%E3%82%92docker%E3%81%A7%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%81%AB%E6%A7%8B%E7%AF%89%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F%EF%BC%81-%E3%81%AE%E3%81%A7%E3%80%81%E3%81%9D%E3%81%AE%E6%96%B9/
- tootsuite/mastodon, https://github.com/tootsuite/mastodon
- MastodonをRaspberryPiで立ち上げようとしたお話(失敗), https://medium.com/@gggooottto/mastodon%E3%82%92raspberrypi%E3%81%A7%E7%AB%8B%E3%81%A1%E4%B8%8A%E3%81%92%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%9F%E3%81%8A%E8%A9%B1-%E5%A4%B1%E6%95%97-1ffca38a1b98
docker-compose up -d
でバックグラウンドで走らせながらdocker-compose run --rm web rails assets:precompile
してみたけどうまくいかないなぁ、、。 パスの設定とか必要なのかな