Dockerでビルドする最小の手順を探してみようかな
Ubuntu 17.04に追加で入れてあるパッケージ:
- build-essential
- ccache
- golang-1.8-go
- heroku
- libpq-dev
- libreadline-dev
- libssl-dev
- mailutils
- nodejs
- pkg-config
- postfix
- vim.nox
- w3m
- zlib1g-dev
- https://get.docker.com からdocker-engine
- https://github.com/docker/compose/releases/download/1.13.0 からdocker-composeバイナリ
v1.4.xのMastodonをbundle installするのに必要なprotobuf-compiler libprotobuf-devと依存パッケージは消しておいてみる。
git cloneしたレポジトリは
$ git clean -dxf
で掃除しておいてhttps://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Docker-Guide.md を見ながら最初のrake secretを省けるか試そう。
念のため .ruby-version で指定されているrbenvのrubyも消しておく
$ rbenv uninstall 2.4.1
rbenv用のPATHも消して、
$ which ruby
/usr/bin/ruby
$ ruby -v
ruby 2.3.3p222 (2016-11-21) [x86_64-linux-gnu]
$ git checkout v1.4.1
$ cp .env.production.sample .env.production
このファイルは編集しないで、えいやっと:
$ docker-compose build
:
Successfully tagged gargron/mastodon:latest
できるじゃん。
$ vi .env.production
して、
PAPERCLIP_SECRET=
SECRET_KEY_BASE=
OTP_SECRET=
のそれぞれの行の最後に、
docker-compose run --rm web rake secret
をそれぞれ実行して表示された長い16進数をコピペする。
んで、
$ docker-compose run --rm web rake db:migrate
$ docker-compose run --rm web rake assets:precompile
$ docker-compose up
これで http://<作業マシン>:3000/ にアクセスできるようになりました(httpsにリダイレクトされて終了する)。
というわけでDocker大変そうだなあ、と思っていた印象の一部はビルド手順をよく読まないとコンテナ外でbundle installを済ませないといけないように見えるのが原因な気がしてきました。これでちょっと良くなるといいな https://github.com/tootsuite/documentation/pull/287
@zundan mergeしてもらえました!というわけでコンテナの外でrakeが動くようにする必要は ありません よ!みなさん!