5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?