Okada Hiroshi の blog

typo が多いです

Mastodon サーバーを v1.2.2 にしました

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 で管理するようにしました。