Mastodon サーバーを v1.2.2 にしました。
https://mastodon.toycode.com/mastodon.toycode.com
今回は、 docker-compose.yml を見なおして docker-compose pull だけで済むようにしました。 ( build しなくて良くしました )
version: '2' services: nginx: image: nginx:alpine depends_on: - web ports: - "80:80" - "443:443" volumes: - ./nginx/conf.d:/etc/nginx/conf.d - ./nginx/ssl:/etc/ssl db: restart: always image: postgres:alpine volumes: - ./postgres:/var/lib/postgresql/data redis: restart: always image: redis:alpine volumes: - ./redis:/data web: restart: always image: gargron/mastodon:v1.2.2 env_file: .env.production command: bundle exec rails s -p 3000 -b '0.0.0.0' depends_on: - db - redis volumes: - ./public/assets:/mastodon/public/assets - ./public/system:/mastodon/public/system streaming: restart: always image: gargron/mastodon:v1.2.2 env_file: .env.production command: npm run start depends_on: - db - redis sidekiq: restart: always image: gargron/mastodon:v1.2.2 env_file: .env.production command: bundle exec sidekiq -q default -q mailers -q pull -q push depends_on: - db - redis volumes: - ./public/system:/mastodon/public/system cron: restart: always image: gargron/mastodon:v1.2.2 env_file: .env.production command: | sh -c 'sh -s <<EOF trap "break;exit" SIGHUP SIGINT SIGTERM while /bin/true; do /bin/date -Ihours /usr/bin/time rake mastodon:daily /bin/sleep 1439m done >>/var/log/cron.log 2>&1 EOF' depends_on: - db - redis volumes: - ./public/assets:/mastodon/public/assets - ./public/system:/mastodon/public/system - ./cron/log:/var/log
また、 メーリングリスト(mastodon-admin@lists.ffdn.org)で教えてもらったように、日々の定期処理 rake mastodon:daily
を docker-compose.yml の中で完結するようにしました。
さらにバージョンアップ毎に書き換える必要があるので、 https://github.com/HiroshiOkada/mastodon.toycode.com で管理するようにしました。