01:15:00
2017-06-02 01:15:00 zundaの投稿 zundan@mastodon.zunda.ninja
01:16:36
2017-06-02 01:16:36 zundaの投稿 zundan@mastodon.zunda.ninja
06:51:55
icon

@ykzts go言語を発表したてのGoogle I/O (たぶん2011年、もしかしたら2013年)でRob Pikeさんに、go言語のマスコットはどうしてプロトコルの名前なの?って訊ねたことがあります。残念ながらどんな回答をもらったか忘れちゃったのだけど、gopher (プロトコル)はもちろん知ってるよ、とのことでした。何か理由があってわざわざ同じ名前にしたんだよな…

06:54:16
2017-06-02 06:54:16 zundaの投稿 zundan@mastodon.zunda.ninja
08:22:53
icon

Heroku脳で

$ docker-compose run --rm web bash

してなかなか起動しないのにどきどきしている

08:23:12
icon

[FATAL tini (121)] Executing child process 'bash' failed: 'No such file or directory'

がっはっは

08:25:16
icon

$ docker-compose run --rm web ruby -v
Starting mastodon_redis_1 ... done
Starting mastodon_db_1 ... done
Creating mastodon user (UID : 991 and GID : 991)...
Updating permissions...
Executing process...
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux-musl]
$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]

Dockerの内外で使ってるruby違うんだね

08:29:52
icon

@hatabowyou うひゃー。むっちゃ関係あります。指定のバージョンのRubyを使う必要があります。手元ではrbenvというソフトにruby-buildというプラグインを入れて2.4.1にしてました。

このDockerの外でいちどrakeが走るようにする手順はrake secretを実行するために必要だと思うのですが、もしかしたらrake secretを実行しないで`ナントカ_SECRE`を適当な文字列にしておいて、いきなりdocker-compose buildをしてもいいんじゃないかと思い始めてます (dockerよくわからないし未確認ですが…

08:30:27
icon

$ sync;sync;sync;sync;sudo poweroff

しつこい

08:35:58
icon

しかしDocker茨の道でんな…

13:21:10
2017-06-02 13:21:10 zundaの投稿 zundan@mastodon.zunda.ninja
13:21:17
icon

ほー

13:41:23
icon

にゃーん

14:54:50
icon

@hatabowyou https://github.com/bundler/bundler/issues/5655#issuecomment-301455330 でruby -vが2.4.1になると思うのですが…。うーむむ

15:19:55
icon

名前がいいな https://helmetjs.github.io/

15:40:25
2017-06-02 15:40:25 zundaの投稿 zundan@mastodon.zunda.ninja
16:18:14
2017-06-02 16:18:14 zundaの投稿 zundan@mastodon.zunda.ninja
17:02:23
icon

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と依存パッケージは消しておいてみる。

17:23:22
icon

Ubuntu 17.04でpython-pip入れようとするとpython2.7がいもづってくるのどゆこよ

17:24:09
icon

python3-pip入れればよさそう

17:24:49
icon

別件でpython3-pipもはいりました

17:26:47
icon

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

できるじゃん。

17:31:39
icon

と思ったけどawscliがあったのでそっちに。

17:47:00
icon

$ 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にリダイレクトされて終了する)。

17:53:46
icon

.env.productionでLOCAL_HTTPS=falseにして docker-compose upすればリダイレクトは起きない。

17:56:24
icon

@hatabowyou bundle exec rake specの実行をしないでDockerのイメージを作る段階まで行けそうです:
$ cp .env.production.sample .env.production
(編集はしない)
$ docker-compose build
.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
んで、.env.productionのLOCAL_HTTPS=で始まる行をLOCAL_HTTPS=falseにして
$ docker-compose up
すれば http://<作業マシン>:3000 が文字

18:04:23
icon

AWSで遊ぼうとするとだいたいIAMのポリシーを見つけたあたりで時間切れになるw

18:43:47
2017-06-02 18:43:47 zundaの投稿 zundan@mastodon.zunda.ninja
18:43:56
2017-06-02 18:43:56 zundaの投稿 zundan@mastodon.zunda.ninja
18:46:17
icon

Mastodonkaigiほぼ間違いなく参加できないしなぁ('・ω・')

18:51:48
2017-06-02 18:51:48 zundaの投稿 zundan@mastodon.zunda.ninja
18:52:07
2017-06-02 18:52:07 zundaの投稿 zundan@mastodon.zunda.ninja
21:28:15
icon

というわけでDocker大変そうだなあ、と思っていた印象の一部はビルド手順をよく読まないとコンテナ外でbundle installを済ませないといけないように見えるのが原因な気がしてきました。これでちょっと良くなるといいな https://github.com/tootsuite/documentation/pull/287