Skip to content

更新とロールバック

MediaTree にはアプリパッケージ更新と完全 Docker イメージ更新の 2 つの経路があります。両者は同じバージョン基準を共有しますが、対象となる変更の種類が異なります。

アプリパッケージ更新

多くの機能更新はアプリパッケージ更新です。Settings は GitHub Release から mediatree-app-<version>.tar.gz をダウンロードし、./data/releases に展開して、再起動後に有効化します。

アプリパッケージ更新:

  • Docker socket は不要です。
  • データボリューム内に保存されます。
  • 再起動成功後、現在のパッケージと 1 つ前のロールバック用パッケージを保持します。
  • Settings からロールバックできます。

完全イメージ更新

実行環境が変わる場合は完全 Docker イメージ更新が必要です。

  • Dockerfile、システムパッケージ、Python バージョン、依存レイヤーの変更。
  • ffmpeg、フォント、実行時バイナリの変更。
  • コンテナユーザー、権限、entrypoint、起動処理の変更。
  • アプリパッケージ差し替えだけでは安全に配布できない変更。

ホスト上で実行します。

bash
docker compose pull
docker compose up -d

Settings から完全イメージ更新を実行したい場合は Docker socket をマウントし、Docker CLI を含むイメージを使用します。

yaml
volumes:
  - /var/run/docker.sock:/var/run/docker.sock

これはコンテナにホスト Docker の制御権を与えます。判断に迷う場合はマウントしないでください。

新規インストール

メンテナーがアプリパッケージ更新を公開する際は、zasenjc/mediatree:latest もローカルで更新します。そのため latest を使う新規インストールは最新のアプリケーション基準から開始します。

ロールバック

アプリパッケージ更新は 1 つ前のアプリパッケージ、または内蔵イメージ版へロールバックできます。完全イメージ更新のロールバックは、ホスト側で Docker またはイメージタグを使って管理します。