お一人様用 Mastodon を 1.3.2 → 1.4.3 に更新

この記事は2017年6月17日に書かれたものです。
現在は内容が古い可能性が高いのでご注意ください。

しばらく更新をサボっていたので、更新と合わせてインスタンスを引っ越したり Ansible でプロビジョニングできるようにしたり色々整理しました。

1.4.1 のリリースで Docker は

sudo chown -R 991:991 public/system

しておけというのと、1.4.2 のリリースでマイグレーション前に

docker-compose run --rm web rails mastodon:maintenance:prepare_for_foreign_keys

しておけとのことなのでそれに従いました。それ以外はサーバーインスタンスの性能 (メモリ) が足りなくなった以外は特に引っかかりポイントもなかったかと思います。

Docker 向けのアップデートガイドには変更した設定を git stash で反映しろみたいに書いてあるところがちょっともにょっとしました (早速今回それでコンフリクトしていた) ので、Ansible で適用できるようにしておくことにしました。
以下チラ見せ。

- name: patch to .env.production
  command: cp -f {{mastodon_root}}/.env.production.sample {{mastodon_root}}/.env.production
  args:
    creates: {{mastodon_root}}/.env.production
  tags: update

- lineinfile: dest={{mastodon_root}}/.env.production
    state=present
    regexp="{{ item.regexp }}"
    line="{{ item.line }}"
  with_items:
    - { regexp: "^LOCAL_DOMAIN=", line: "LOCAL_DOMAIN={{hostname}}.{{domain}}" }
    - { regexp: "^PAPERCLIP_SECRET=", line: "PAPERCLIP_SECRET={{PAPERCLIP_SECRET}}" }
    - { regexp: "^SECRET_KEY_BASE=", line: "SECRET_KEY_BASE={{SECRET_KEY_BASE}}" }
    - { regexp: "^OTP_SECRET=", line: "OTP_SECRET={{OTP_SECRET}}" }
    - { regexp: "^SMTP_SERVER=", line: "SMTP_SERVER={{SMTP_SERVER}}" }
    - { regexp: "^SMTP_LOGIN=", line: "SMTP_LOGIN={{SMTP_LOGIN}}" }
    - { regexp: "^SMTP_PASSWORD=", line: "SMTP_PASSWORD={{SMTP_PASSWORD}}" }
    - { regexp: "^SMTP_FROM_ADDRESS=", line: "SMTP_FROM_ADDRESS={{hostname}}@{{domain}}" }
    - { regexp: "^(#?)SMTP_OPENSSL_VERIFY_MODE=", line: "SMTP_OPENSSL_VERIFY_MODE=none" }
  changed_when: false
  tags: update

- name: patch to setting files
  lineinfile: dest={{mastodon_root}}/config/settings.yml
    state=present
    backrefs=yes
    regexp="{{ item.regexp }}"
    line="{{ item.line }}"
  with_items:
    - { regexp: "^(\\s+)site_description{{colon}}", line: "  site_description{{colon}} 'This instance is only for semnil.'" }
    - { regexp: "^(\\s+)open_registrations{{colon}}", line: "  open_registrations{{colon}} false" }
  changed_when: false
  tags: update

シェアする

フォローする