Mastodon を Docker で立てるときに最低限しておくこと
2017年4月16日現在の情報です
- 4月15日のコミットで
docker-compose.yml
に Docker Hub のイメージの記述が入った。 このイメージは GitHub の master に追従してビルドされるので(多分)、docker-compose build
よりもdocker-compose pull
のほうが早い。 - これは各地で言われていることだが、デフォルトの
docker-compose.yml
では PostgreSQL と Redis の永続化がされていない。volumes
のコメントアウトを外すこと。 web
とstreaming
のポート (3000と4000) が外部におっぴろげになってるので、Docker network 内でリバースプロキシしたほうが良い。(リバースプロキシ用のnginxのコンテナを同一Docket networkに立てる)docker-compose.yml
の PostgreSQL のイメージが最新版に追従するようになっている。PostgreSQLはメジャーバージョン (9.x の x の部分。開発中の 10 以降は 10, 11, … がメジャーバージョン) でデータベースファイルの互換性がないので、メジャーバージョンアップ後に pull すると起動できなくなって慌てることになる。image: postgres:9.6.2-alpine
のようにバージョンを指定しておこう。 PostgreSQL が更新されたあとは、余裕が出来たらpg_upgrade
やpg_dump
/pg_restore
でアップグレードしていくべし (でも Mastodon は PostgreSQL の最新の機能を使ってないので、セキュリティリスクとかが出ない限りは旧バージョンで固定してもよさそう)。 (18:38追記)
2017年4月17日 1:28追記
Mastodon を Docker で立てるときに最低限しておくこと - chaotic valkyrieb.hatena.ne.jp
- [docker]
- [Mastodon]
細かいタグではなくて postgres:9-alpine で大丈夫そうな気もする
2017/04/17 00:34
半分仰るとおりで、 image: postgres:9.6-alpine
で充分です。これでセキュリティアップデートはある程度追従できます。
9.7はリリースされず次バージョンは10のはずなので 9-alpine
でも大丈夫だとは思いますが、仮に 9.7 がリリースされるとアップグレード作業なしには起動できなくなるので 9.6-alpine
が無難かと思います。