LoginSignup
5
3

More than 5 years have passed since last update.

Dockerを使ったMastodonを1.4.7から1.5.0にバージョンアップした

Last updated at Posted at 2017-08-07

Dockerを使ったMastodonを1.4.7から1.5.0にバージョンアップしました。

アップグレード手順

1.3.2から1.4.3にバージョンアップしたときの手順でアップグレードしていきます。

マイグレーション実行時の外部キーに関するエラーは出ません。

アップグレード後のログ確認でエラー発見

アップグレード後にログの確認。
ctrl-fで中断できます。

docker-compose logs -f

下記のエラーが出ていました。

systemTID-gmplcyec4 WARN: Errno::EACCES: Permission denied @ dir_s_mkdir - /mastodon/public/system/accounts/avatars/000/000/502

ディレクトリのアクセス権を確認

/mastodon/public/systemは下記のdocker-compose.ymlの抜粋にあるようにホストOSのディレクトリをマウントしているのでdocker-compose.ymlがあるディレクトリの./public/systemのアクセス権を確認。

docker-compose.yml(抜粋)
  web:
    extends:
      service: app
    container_name: mstdn-web
    restart: always
    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/packs:/mastodon/public/packs
      - ./public/system:/mastodon/public/system
    networks:
      - mstdn

ls -lの結果(抜粋)

drwxr-xr-x 4 991 991 4096 8月 6 20:00 assets
drwxr-xr-x 6 991 991 36864 8月 6 18:02 packs
drwxr-xr-x 5 root root 4096 8月 6 22:47 system

「system」ディレクトリのオーナーがrootになっているので、「assets」「packs」に合わせて、mastodonの実行ユーザーの「991」にオーナーを変更。

chown -R 991.991 system

エラーが解消され、「/mastodon/public/system/accounts/avatars」以下に書き込まれていることをログで確認。

以上でバージョンアップは終了です。

リンクが切れたDocker volumeの削除

何回かバージョンアップをするとリンクが切れたDocker volumeが増えてディスク容量を圧迫しますので、リンクが切れたDocker volumeを削除します。

docker volume ls -f "dangling=true" -q | xargs docker volume rm
5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3