icon

6月だ

icon

Merged e1fdac3e9a173c05c7fd9f5e8bcc255ef4a1e804 from master.

\master/ \なおりますたー!!/

icon

ラップトップにGoogle Drive入れてないっしょ、ファイルのバックアップできないよ、って言われて入れてみたけれど、Google Driveフォルダに入ってるやつらしかバックアップされないのかw OS関連のファイルをバックアップしてくれるものだと勘違いしてましたw

icon

Region and service on AWS for IP addresses · GitHub https://gist.github.com/zunda/06445a6d14e9fc53bc08354a5c8311e0

Web site image
Region and service on AWS for IP addresses
icon

ギットだけどジスト?

icon

\master/ \こわれますたかー/

←やめい

icon

なおりますたーのe1fdac3の直後にUpdate Rails to version 5.1.1とか入っててこれはいろいろありそうだ (なかみはみてない) https://mastodon.zunda.ninja/media/TdbFCtRGiixjV2OSk_M

Attach image
icon

Merged 10768aa20418a5c3d547da33d80b9ebe3f34efb0 from master.

\マスター/ \こわれてませんですたー/

icon

だじゃれになってないみたいですたー

icon

お?

method=GET path=/api/v1/timelines/public format=*/* controller=Api::V1::Timelines::PublicController action=show status=500 error='NameError: uninitialized constant ActiveModel::Type::Text'

icon

Rollbackしますたー

Running release command...
▸ Response code 416 (Range Not Satisfiable)

ええっ

icon

Rollbackじたいは成功したようだ

icon

良いトースターで焼くとパンおいしいですよね

icon

Backtrace:

NameError (uninitialized constant ActiveModel::Type::Text):
app/controllers/application_controller.rb:76:in `cache_collection'
app/controllers/api/v1/timelines/public_controller.rb:22:in `cached_public_statuses'
app/controllers/api/v1/timelines/public_controller.rb:16:in `load_statuses'
app/controllers/api/v1/timelines/public_controller.rb:9:in `show'

キャッシュの問題かな

icon

method=GET path=/api/v1/timelines/public format=html controller=Api::V1::Timelines::PublicController action=show status=200

うまくいってる例

icon

method=GET path=/api/v1/timelines/public format=*/* controller=Api::V1::Timelines::PublicController action=show status=200

うまくいっている例 (10768aa20418a5c3d547da33d80b9ebe3f34efb0)

icon

どこかに置いてあるキャッシュが互換じゃなくなってるんかな

icon

AWS分の5月の費用は$0.05。us-east-1からカナダへのデータ転送0.000181GBが$0.01、S3へのリクエストが無料分2000に加えて超過分8832で$0.04とのこと。無料枠がなくなったらどうなるか知りたいよねgkbr https://mastodon.zunda.ninja/media/JrAXx-6oqmQvlyY7nMo

Attach image
icon

@hatabowyou pkgconfigだとどうでしょう?

icon

@hatabowyou pkgconfigが無いのが問題ではなかったのかもですね…。

エラーはyumとかsydtemdが必要としているパッケージをアンインストールしようとして出ているように思います。

パッケージの再インストールではあまり状況は改善しなさそうな気がします。アプリをビルドしようとしたときのエラーをもう一度見直してみるといいかも。

icon

@hatabowyou gemのビルド中かな?以前のようにどこかにログファイルが残されていると思うのでその中身を見てみると具体的な原因がわかるかもしれません。

icon

このインスタンスの運用費用のまとめを更新しました。AWSの無料枠がおわるまでは$16.05/月前後になりそうです

https://github.com/zunda/mastodon/wiki/CostConsiderationsOnHeroku

icon

@hatabowyou

$ rake secret

で起動されるrakeコマンドはOSにインストールされているもので、Mastodonのためにbundle installされたものとは別のバージョンのものです。which rakeすると/usr/bin/rakeなどと表示されると思います。bundle installされたコマンドを使うには、bundle execを実行するコマンドの前に足すとよいです。

$ bundle exec rake secret

すると、Mastodonのために./vendor/bundle以下にインストールされたrakeコマンドを使ってもらえます。

Good luck!

icon

@hatabowyou 脊髄反射で確認せずにお知らせしちゃってすみませんが、export RAILS_ENV=production を実行してからそのままbundle installとかbundle exec rakeとかを実行したらどうなるでしょか?

Rails関連のコマンドがプロダクション用に実行されたり開発用(RAILS_ENV=development)に実行されたりちぐはぐになっている気がします。

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

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

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

Heroku脳で

$ docker-compose run --rm web bash

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

icon

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

がっはっは

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違うんだね

icon

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

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

icon

$ sync;sync;sync;sync;sudo poweroff

しつこい

icon

しかしDocker茨の道でんな…

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

ほー

icon

にゃーん

2017-06-02 15:40:25 zundaの投稿 zundan@mastodon.zunda.ninja
2017-06-02 16:18:14 zundaの投稿 zundan@mastodon.zunda.ninja
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と依存パッケージは消しておいてみる。

icon

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

icon

python3-pip入れればよさそう

icon

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

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

できるじゃん。

icon

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

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

icon

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

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 が文字

icon

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

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

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

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

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

Web site image
Remove the procedure to run `rake secret` outside the container by zunda · Pull Request #287 · mastodon/documentation
icon

@ykzts デスヨネー

icon

@zundan mergeしてもらえました!というわけでコンテナの外でrakeが動くようにする必要は ありません よ!みなさん!

2017-06-03 10:17:52 zundaの投稿 zundan@mastodon.zunda.ninja
icon

どっかーマシンが起きて来ない

icon

どっかしたかー?

icon

WoLが聞こえてないみたいだなあ

icon

【悲報】Dockerマシンにanacron入ってなかったw

2017-06-03 14:40:55 zundaの投稿 zundan@mastodon.zunda.ninja
icon

Rails 5.1.1にするとキャッシュが不整合になることとクリア方法の確認、失敗編

5.1.1になる前のMastodonをデプロイする
$ git push -f heroku-experiment e1fdac3e9a173c05c7fd9f5e8bcc255ef4a1e804:master

アプリを閲覧してtootする。

5.1.1になったMastodonをデプロイする
$ git push -f heroku-experiment 2212dc4aaa6de729d2fe3e39b134b566935b11b7:master

アプリを閲覧してtootする。

これでエラーになると思ったのにならない。

icon

Special offerあり版のKindleを日本のアカウントで使ってるとロック画面があんまりひどいので$20払ってspecial offerなしにすることにした。Deregisterしてアメリカのアカウントに紐付けてunsubscribeして、deregisterして日本に戻した。

アメリカのKindle unlimitedの広告が出るようになったw

そのうち消えますように。

icon

v1.4.1タグから出発してもエラーにならないなあ。もっと古いキャッシュが残ってるのかな?

icon

無料のHeroku Redisはforkできないしなあ

icon

キャッシュ消し、一発勝負でやってみるかなぁ…

icon

『BLAME!』観始めたんだけど…

横浜駅?

icon

@h_gocchi なんか勝手に増殖してるって、横浜駅SFみたいだな、とw

icon

Merged 10768aa2 and seeing the error again under app/controllers/:

method=GET path=/api/v1/timelines/public format=*/* controller=Api::V1::Timelines::PublicController action=show status=500 error='NameError: uninitialized constant ActiveModel::Type::Text'

application_controller.rb:76:in `cache_collection'
api/v1/timelines/public_controller.rb:22:in `cached_public_statuses'
api/v1/timelines/public_controller.rb:16:in `load_statuses'
api/v1/timelines/public_controller.rb:9:in `show'

icon

Clearing the cache seems to have fixed the problem.

$ heroku run rails c -a zundan-mastodon
irb(main):001:0> Rails.cache.clear
=> nil

icon

@h_gocchi なるほどw

2017-06-03 20:25:51 zundaの投稿 zundan@mastodon.zunda.ninja
2017-06-03 20:25:53 zundaの投稿 zundan@mastodon.zunda.ninja
icon

/api/v1/streamingが404になったの?

icon

streaming用のアプリにアクセスは来ている

icon

ブラウザからは期待どおりアクセスしてるけどSubway tooterからは404のURLにstreamを取りに来てるんだ

icon

@Clworld Subway tooterを起動してると method=GET path=/api/v1/streaming format=html controller=ApplicationController action=raise_not_found status=404 といった感じのレスポンスが記録されるようです。Herokuで運用しててstreaming APIは別のアプリで受けてるのですが、Subway tooterからのリクエストは本体のアプリに来てしまっている感じです。

icon

リダイレクトを返せるといいんだなあ

icon

インスタンスの応答が遅いのとスワップに突っ込んでるのと関連がないんだよなあ。RedisとかPostgresとかマルチテナントだからしょうがないのかなあ(NewRelicを入れたくなる)

2017-06-03 22:57:22 zundaの投稿 zundan@mastodon.zunda.ninja
icon

ひゃー

2017-06-03 23:14:40 zundaの投稿 zundan@mastodon.zunda.ninja
icon

@kwappa Crunchyrollでは観られました〜