Open WebUIのアップデートって頻繁にあるから、ある程度コピペできると嬉しいなぁということでアップデートを記録。
現在のコンテナのバックアップ
アップデート前に現在の設定やデータをバックアップしておくと、万が一の際に元に戻すことができる。
現在のコンテナとボリュームをバックアップ
# 現在のコンテナIDを確認
docker ps -a
# コンテナを停止(例: コンテナ名が "open-webui" の場合)
docker stop open-webui
# データのバックアップ(例: データボリューム名が "open-webui" の場合)
docker run --rm --volumes-from open-webui -v $(pwd):/backup ubuntu tar cvf /backup/open-webui-backup.tar /app/backend/data
Dockerイメージのアップデート
最新のDockerイメージを取得し、古いイメージを新しいものに置き換える。
最新のDockerイメージをプル
docker pull ghcr.io/open-webui/open-webui:cuda
古いコンテナを削除
古いコンテナを削除してから新しいイメージで起動。
# 古いコンテナを削除
docker rm open-webui
# 古いイメージを削除(任意)
docker rmi ghcr.io/open-webui/open-webui:cuda
新しいコンテナの起動
新しいDockerイメージを使用して、最新バージョンのOpen WebUIを起動。
オプションは以下の通り。
- docker run
新しいDockerコンテナを起動するためのコマンド。 - -d
コンテナをバックグラウンドで実行するオプション(デタッチモード)。 - -p 3000:8080
ホストマシンのポート3000をコンテナのポート8080にマッピング。
ホストマシンのポート3000にアクセスすると、コンテナの8080ポートに接続できる。 - –gpus all
コンテナにすべてのGPUをアクセス可能にするオプション。
GPUを使用するアプリケーションがコンテナ内で動作できるようになる。 - –add-host=host.docker.internal:host-gateway
コンテナからホストマシンを識別できるようにする設定。
コンテナ内から host.docker.internal という名前でホストマシンにアクセスできる。 - –name open-webui
コンテナに open-webui という名前を付ける。
コンテナの管理が簡単になる。 - –restart always
コンテナがクラッシュしたりDockerが再起動した場合に、自動的にコンテナを再起動する設定。 - ghcr.io/open-webui/open-webui:cuda
使用するDockerイメージの名前。
このイメージにはCUDA対応のOpen WebUIが含まれている。 - -v オプション
ボリュームマウントを指定するオプション。
Dockerコンテナがアクセスできるファイルシステムの領域を指定する。 - /home/ユーザー/models
ホストマシン上のディレクトリ。
このディレクトリにモデルファイルが保存されている。 - /app/backend/data/models
コンテナ内のディレクトリ。
このディレクトリにマウントされることで、ホスト上の /home/ユーザー/models にあるファイルを、コンテナ内の /app/backend/data/models として利用できる。
docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v /home/ユーザー/models:/app/backend/data/models --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
バージョンの確認
Open WebUIが正しくアップデートされたことを確認。
- 管理画面にアクセスし、バージョン情報を確認。
- docker logs open-webui コマンドを使って、起動ログに新しいバージョン番号が表示されているか確認。
必要に応じて設定を確認
アップデート後、設定やデータに問題がないか確認する。
必要に応じて設定ファイルの確認や変更を行えば完了。