Tomoya Matsuura(MacBookPro)
562de4835c
All checks were successful
Build / build (push) Successful in 2m10s
1.9 KiB
1.9 KiB
#tips
普通、dockerで運用するときはMastodonのリポジトリをクローンしてきて、docker-compose.yml
のbuild
をコメントアウトすることで、リポジトリからコンテナイメージをpullするように変える。
ただこの場合、バージョンアップデートの際にgit stash && git fetch && git checkout <version>
するとこんな感じにconflictが発生する。(ここでは4.26から4.2.5にダウングレードしてる)
web:
<<<<<<< Updated upstream
build: .
image: ghcr.io/mastodon/mastodon:v4.2.5
=======
# build: .
image: ghcr.io/mastodon/mastodon:v4.2.6
>>>>>>> Stashed changes
restart: always
そこで、docker-compose.yml
とは別にdocker-compose.override.yml
というのを置いておくと、特定のキーを上書きしてくれる。
最近まで、この上書き機能では特定のエントリをコメントアウトするような操作はできなかったが、docker-compose v2.18.0以降で!reset
というのを置いておくとできるようになった。
docker-compose.override.yml で 打ち消し定義 ができるようになった。
そこでこんなsudo apt-get upgrade docker-compose-plugindocker-compose.override.yml
を作る。
web:
image: ghcr.io/mastodon/mastodon:latest
build: !reset
#depends_on: #必要に応じて
# - es
streaming
image: ghcr.io/mastodon/mastodon:latest
build: !reset
sidekiq
image: ghcr.io/mastodon/mastodon:latest
build: !reset
こうすれば、更新する時はdocker-compose pull&& docker-compose down && docker-compose up -d
1つでよくなる。(compose自体に更新が入ったり、.env.productionとかに変更があったり、rake:db migrate
する必要がある場合もあるので、基本はリリースノートを読んでから!)