ガイド

Difyのバージョンアップ完全ガイド【2026年最新】:Docker・ローカル・v1.0移行の全手順を解説

室谷東吾
監修者室谷東吾(@0x__tom

株式会社MYUUU 代表取締役 / 日本最大級AIコミュニティ「.AI」創設者(累計2,000名超)/ セプテーニ・ホールディングス(電通グループ)と資本業務提携 / 著書「お金を使わず、AIを働かせる『Dify』活用」(ぱる出版、3刷)/ Xフォロワー約2万人

テキトー教師
監修者テキトー教師(@tekitoo_T_cher

.AI 認定講師 / 教育×AIの専門家 / 累計300名以上にAI活用を指導 / 「テキトーに学ぶ」がモットーの実践派講師 / Xアカウント

Difyのバージョンアップ完全ガイド【2026年最新】:Docker・ローカル・v1.0移行の全手順を解説

Difyのバージョンアップ、なぜこんなに頻繁にリリースされるの?

室谷室谷
Difyって本当にアップデートのペースが早いですよね。気づいたらマイナーバージョンが何個も上がってる・・・。

MYUUUのエンジニアも「また上がった」って言いながら追いかけてます。
テキトー教師テキトー教師
そうなんですよね。GitHubを見ると、1週間に複数回コミットが入ってることもあります。

2026年4月時点でv1.13.3まで来ていますが、v1.0が出たのがそんなに前じゃないことを考えると、開発スピードがえげつないです。
室谷室谷
海外のオープンソースLLMアプリ開発フレームワークの中でも、Difyはスター数が13万を超えてるんですよね。それだけコミュニティが活発だから、バグ修正もフィーチャーリクエストも速い。
テキトー教師テキトー教師
ただ、アップデートが速いということは、セルフホストしているユーザーにとってはこまめにバージョンアップしないと、機能差が広がっていくというプレッシャーもありますよね。実際、コミュニティのメンバーさんから「気づいたら10バージョン以上遅れてた」という話もよく聞きます。
室谷室谷
そのまま放置すると何が困るかというと、まずセキュリティパッチが当たらない。それと新しいモデルやプラグインが動かないケースも出てきます。

MYUUUでも定期的なバージョン管理を徹底してます。
テキトー教師テキトー教師
この記事では、DifyのDockerバージョンアップの手順を基本から解説していきます。特にv0.xからv1.0への移行は通常のアップグレードと違う注意点があるので、そこも詳しく取り上げます。

バージョンアップ前に確認しておくこと

室谷室谷
まず手順の前に、現在どのバージョンを使っているかの確認方法ですね。Difyの管理画面(Settings > About)を開くと現在のバージョンが表示されます。

あるいはDockerコマンドで確認する方法もあります。
テキトー教師テキトー教師
「dify バージョン 確認」って検索する人も多いですが、Dockerを使っている場合は以下のコマンドで各コンテナのイメージタグを確認できます。
cd docker
docker compose ps

実行すると、docker-api-1 langgenius/dify-api:1.13.3のようにバージョンが表示されます。

室谷室谷
最新バージョンはGitHubのReleasesページで確認できます。を見ると、「Latest」タグがついているものが最新です。
テキトー教師テキトー教師
バージョン確認の次にやることがバックアップです。ここを省略してアップグレードして失敗する人が結構多いんですよ。

特にデータが大事な本番環境では、必ずバックアップしてから進めてください。

バックアップすべき3つのもの

バージョンアップ前に最低限バックアップしておくべきものを整理します。

バックアップ対象コマンド例重要度
Dockerボリューム(データ)tar -cvf volumes-backup.tgz volumes必須
docker-compose.yamlcp docker-compose.yaml docker-compose.yaml.bak推奨
.envファイルcp .env .env.bak推奨
室谷室谷
.envファイルのバックアップは特に重要で、バージョンアップ後に.env.exampleが更新されていることがあるので、差分を確認して自分の.envに反映する必要があります。
テキトー教師テキトー教師
講座で教えていると「バックアップするのめんどくさい」という声もあるんですが、一度データを失った経験をするとその後は必ずやるようになりますよね(笑)。コマンド1つで終わるので、習慣にしてしまうのが一番です。

Dockerを使ったバージョンアップ手順(通常版)

DifyのDockerバージョンアップ4ステップフロー(バックアップ→停止→コード取得→起動)

室谷室谷
通常のDockerバージョンアップは、要は「最新コードを取ってきてコンテナを再起動する」だけです。シンプルなんですよね。
テキトー教師テキトー教師
そうですね。Dockerを使ったセルフホスト環境の場合、手順は以下になります。

Docker Composeバージョンアップの手順

# 1. Difyのdockerディレクトリに移動
cd dify/docker

# 2. docker-compose.yamlをバックアップ(任意)
cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak

# 3. サービスを停止
docker compose down

# 4. データをバックアップ
tar -cvf volumes-$(date +%s).tgz volumes

# 5. mainブランチから最新コードを取得
git checkout main
git pull origin main

# 6. サービスを起動(最新イメージが自動でプルされる)
docker compose up -d
室谷室谷
docker compose up -dを実行すると、Dockerが最新のイメージをDocker Hubから自動でプルしてくれます。これで通常のバージョンアップは完了です。
テキトー教師テキトー教師
「dify バージョン アップ 手順」で検索する人に伝えたいのが、手順5のgit checkout main && git pull origin mainの部分です。単にgit pullするだけでなく、mainブランチにいることを確認してから実行するのが安全です。
室谷室谷
起動後の確認はdocker compose psでコンテナの状態を見ます。全コンテナがUpまたはhealthyになっていれば成功です。
docker compose ps

起動完了後の出力例(v1.13.3の場合):

NAME                      IMAGE                                    STATUS
docker-api-1              langgenius/dify-api:1.13.3               Up
docker-web-1              langgenius/dify-web:1.13.3               Up
docker-worker-1           langgenius/dify-api:1.13.3               Up
docker-worker_beat-1      langgenius/dify-api:1.13.3               Up
docker-plugin_daemon-1    langgenius/dify-plugin-daemon:0.4.1-local Up
docker-db_postgres-1      postgres:15-alpine                        Up (healthy)
docker-redis-1            redis:6-alpine                           Up (healthy)
docker-nginx-1            nginx:latest                             Up
docker-sandbox-1          langgenius/dify-sandbox:0.2.12           Up
docker-ssrf_proxy-1       ubuntu/squid:latest                      Up
docker-weaviate-1         semitechnologies/weaviate:1.27.0         Up
テキトー教師テキトー教師
コンテナ数が11個になっているのに気づく人も多いんですよ。以前と比べてコンポーネントが増えているからです。

v1.0以降はplugin_daemonというコンテナが追加されています。

バージョンを指定してアップグレードしたい場合

室谷室谷
「最新じゃなくて特定バージョンに上げたい」という場合は、タグを指定してチェックアウトします。
git checkout 1.13.3
テキトー教師テキトー教師
タグの一覧はgit tagで確認できます。
git tag

出力例:

1.0.0
1.1.0
1.1.1
...
1.13.2
1.13.3
室谷室谷
バージョンを固定したい本番環境では、mainブランチを追うより特定タグを指定する方が安全ですね。「dify バージョン 指定」というニーズはここから来ています。

v0.xからv1.0への移行:特別注意事項

テキトー教師テキトー教師
通常のアップグレードの話をしましたが、「dify 1.0 0 アップグレード」や「dify 0.15.3からv1.0」みたいな検索をしている人は別の話が必要です。v0.xからv1.0への移行は、通常とは違う手順が必要なんですよ。
室谷室谷
これ、やらかす人が結構いて・・・。v1.0でプラグインシステムが導入されたんですよね。

それまでツールやモデルとして組み込まれていたものが、プラグインに切り出されました。
テキトー教師テキトー教師
なので移行前に「今の環境でどのモデルとツールを使っているか」を抽出するコマンドを実行する必要があります。

v0.x → v1.0移行の必須手順

室谷室谷
公式ドキュメントとGitHubのリリースノートを確認しましたが、v1.0への移行は以下の手順が必要です。
# ステップ1: 現在の環境のプラグイン情報を抽出
# (v0.xのdifyディレクトリで実行)
cd api
poetry run flask extract-plugins --workers=20
テキトー教師テキトー教師
これでplugins.jsonlというファイルが生成されます。このファイルには、今の環境で使っているモデル・ツールの情報が入っています。
# ステップ2: プラグインをマーケットプレイスからインストール
# ネットワーク接続が必要(https://marketplace.dify.ai へのアクセス)
poetry run flask install-plugins --workers=2
室谷室谷
このコマンドを実行すると、plugins.jsonlの内容をもとに必要なプラグインをDify Marketplaceから自動でダウンロード・インストールしてくれます。ネットワークに接続できる環境であることが前提です。
テキトー教師テキトー教師
ステップ2が完了したら、通常のデータベースマイグレーションを実行します。
# ステップ3: データベーススキーマをv1.0に更新
poetry run flask db upgrade
室谷室谷
さらに、v1.0完全移行のためにデータのマイグレーションコマンドも用意されています。これはデータベース内のモデル・ツールのベンダー名を新しい形式(langgenius/openai/openaiなど)に変換するものです。
# ステップ4: データ移行(注意:旧バージョンに戻せなくなる)
# 実行前に必ずデータベースをバックアップすること
poetry run flask migrate-data-for-plugin
テキトー教師テキトー教師
このステップ4は「旧バージョンへのロールバックができなくなる」という注意書きが公式にあります。なので実行前のデータベースバックアップは絶対にやってください。
室谷室谷
.AIコミュニティでもv1.0への移行でつまずいた人の話を聞いたことがあるんですが、大体このプラグインマイグレーション手順を飛ばしていたパターンです・・・。

ローカル環境(ソースコード)でのバージョンアップ

テキトー教師テキトー教師
Dockerを使わずにソースコードからローカルで動かしている場合は、手順が少し違います。「dify ローカル バージョン アップ」で検索する人向けの話ですね。
室谷室谷
ソースコード環境の場合は、APIサーバー、Worker、Webフロントエンドを個別に更新する必要があります。

ソースコードのバージョンアップ手順

# 1. APIサーバー、Worker、Webフロントエンドを停止

# 2. 対象バージョンのブランチにチェックアウト
git checkout 1.13.3

# 3. Pythonの依存関係を更新(uvを使用)
cd api
uv sync

# 4. データベースマイグレーションを実行
uv run flask db upgrade

# 5. APIサーバー、Worker、Webフロントエンドを起動
テキトー教師テキトー教師
uv syncは以前はpoetry installでしたが、Difyはuvに移行しています。古い情報を参考にしている場合は注意が必要です。
室谷室谷
Webフロントエンドのアップデートも必要で、こちらはNode.jsの依存関係を更新します。
cd web
npm install
npm run build
テキトー教師テキトー教師
ソースコード環境はDockerと比べてアップデートの手順が多く、特にPythonとNode.jsのバージョン管理も気にしないといけません。セルフホストするならDockerが推奨されている理由がここにあります。

Dockerバージョンのダウングレード(バージョンを戻す)

室谷室谷
バージョンアップした後に「やっぱり戻したい」というケースもあります。「dify バージョン 戻す」「dify バージョン ダウン」という検索もあるんですよね。
テキトー教師テキトー教師
バックアップを取っていれば戻せますが、データベースのスキーマが新しいバージョン用に更新されている場合、単純にコンテナを戻しただけでは動かないことがあります。
室谷室谷
ダウングレードの手順を整理するとこうなります。
状況対応方法
バックアップが全部あるvolumesディレクトリをバックアップから復元し、古いタグのイメージで起動
DBスキーマだけ新しいデータベースのロールバックが必要(公式のダウングレードガイドを参照)
v1.0移行後に0.xに戻したい基本的に不可能。migrate-data-for-plugin実行後は特に
テキトー教師テキトー教師
「dify バージョン ダウン」の検索をする人の多くは、アップグレード後に何かが壊れて困っているケースです。だからこそ事前のバックアップが命綱になります。
室谷室谷
MYUUUのエンジニアには「アップグレード前のバックアップは宗教上の理由でやってください」って言ってますw

エンタープライズ版のバージョン管理

テキトー教師テキトー教師
Dify Enterpriseを使っている場合はバージョン管理の方法が違います。「dify enterprise バージョン」「dify エンタープライズ版 バージョン」という検索をしている人はここが気になるはずです。
室谷室谷
エンタープライズ版はコミュニティ版(セルフホスト)とは別のリリースサイクルで提供されています。エンタープライズのユーザーは、Difyのサポートチームを通じてアップグレードの調整をすることになります。
テキトー教師テキトー教師
コミュニティ版が最新機能を真っ先に実験的に取り込む一方、エンタープライズ版はある程度安定版が確認されてから更新されるイメージですね。企業での導入ではエンタープライズ版を使っているケースも増えています。
室谷室谷
.AIコミュニティでも最近エンタープライズ版への移行を検討している企業メンバーが増えてきました。スケールアップとサポート面での安心感が理由ですね。

Pythonバージョンの互換性

テキトー教師テキトー教師
「dify python バージョン」という検索もあります。これはDifyを動かすために必要なPythonのバージョンのことですね。
室谷室谷
Dockerを使っている場合はコンテナ内でPythonが管理されているので、ホストのPythonバージョンは関係ないんですよ。問題になるのはソースコード環境の場合です。
テキトー教師テキトー教師
ソースコード環境でのPython要件は公式ドキュメントで確認するのが確実です。バージョンによって対応するPythonが変わることがあるので、pyproject.tomlを見るのが一番正確ですね。
室谷室谷
Dockerを使う限り、この心配はなくなります。それもDockerが推奨される理由の一つですよね。

コミュニティ版とセルフホストのバージョン確認

Dify公式ドキュメントのDocker Compose環境のコンテナ一覧(公式サイトより)

テキトー教師テキトー教師
「dify コミュニティ版 バージョン」「dify セルフホスト バージョン」で検索している人は、自分の環境のバージョンを確認したいケースがほとんどですね。
室谷室谷
確認方法を整理するとこうなります。
確認方法コマンド・場所
管理画面Settings > About(バージョンが表示される)
Dockerコンテナdocker compose psでイメージタグを確認
GitHubリポジトリgit tag --sort=-version:refname | head -5で最近のタグを表示
公式Releaseshttps://github.com/langgenius/dify/releases
テキトー教師テキトー教師
クラウド版(dify.ai)を使っている場合はバージョン管理が不要です。Dify社が自動でアップデートしてくれます。

自分でバージョンを管理するのはセルフホスト版を使っている場合のみです。

バージョンアップで気をつけるポイント

室谷室谷
実際にバージョンアップをやっていて「これは注意したほうがいい」と思うポイントをまとめておきます。
テキトー教師テキトー教師
特にv1.13.xへのアップグレード時に出た注意事項として、SandboxのPythonとNode.jsのデフォルトパスが変更された点があります。既存の設定ファイルがある場合は、自動で更新されないので手動で確認が必要です。
室谷室谷
これはリリースノートに「Important」として明記されている内容です。アップグレード前にリリースノートを読む習慣をつけることを強くおすすめします。
テキトー教師テキトー教師
もう一つ、.env.exampleの変更を確認することですね。バージョンアップで新しい環境変数が追加されることがあります。

自分の.envに反映しないと、新機能が動かないケースがあります。
室谷室谷
チェックリストにするとこうなります。
  • アップグレード前: バックアップ(volumes、docker-compose.yaml、.env)
  • アップグレード後: コンテナの起動確認(docker compose ps
  • アップグレード後: .env.exampleとの差分確認
  • メジャーバージョン移行時: リリースノートの「Upgrade Guide」を必ず読む
  • v0.x → v1.0: プラグインマイグレーションコマンドの実行
テキトー教師テキトー教師
「dify セッション タイムアウト」「dify コード実行 デバッグ」といったトラブルが、バージョンアップ後の設定ズレから来ることもあります。バージョンアップ後にこういった問題が起きたら、まず.envの設定を見直すのが先決です。

MCPとプラグインのバージョン

室谷室谷
「dify mcp バージョン」という検索もあります。Difyがv1.0でMCPサポートを正式に取り込んでから、MCPサーバーとしてDifyを使うケースが増えていますね。
テキトー教師テキトー教師
MCPサーバー機能はDifyのバージョンに依存しているので、Difyをバージョンアップすることで対応するMCPの機能も更新されます。MCPを使っている場合もDifyのアップグレードは重要です。
室谷室谷
プラグインマーケットプレイスも「dify プラグイン マーケットプレイス」「dify マーケットプレイス」として独立したエコシステムになってきています。Dify本体のバージョンアップで、対応するプラグインの種類も増えていきます。
テキトー教師テキトー教師
プラグインは個別にバージョン管理されているので、Dify本体とプラグインのバージョンが別物だという点も覚えておいてください。「dify ナレッジパイプライン バージョン」もプラグインとして管理されているケースがあります。

ナレッジベースとアップグレード

室谷室谷
バージョンアップ時によく心配されるのが「ナレッジベースのデータが消えないか」という点です。
テキトー教師テキトー教師
Dockerのvolumesにデータが保存されているので、docker compose downしてもvolumesは消えません。docker compose down -vというオプションを付けるとvolumesも削除されますが、通常のバージョンアップでこれを使うことはないです。
室谷室谷
ただし、「dify ドキュメント アップロード」機能で追加したファイルもvolumesに入っているので、バックアップを取る際はvolumesごとバックアップするのが確実です。
テキトー教師テキトー教師
バックアップのコマンドtar -cvf volumes-$(date +%s).tgz volumesdate +%s部分はUNIXタイムスタンプで、実行するたびに別名のバックアップファイルが作られます。誤って上書きしないようになっているんですよ。

バージョン一覧と主要なアップデート履歴

DifyのGitHub Releasesページ(v1.13.3 Latest表示)(公式サイトより)

テキトー教師テキトー教師
「dify バージョン 一覧」「dify バージョン 履歴」を確認したい場合は、GitHubのReleasesが一番正確です。主要なマイルストーンをざっくり振り返ります。
室谷室谷
v0.xの時代は機能を積み上げていくフェーズで、v1.0でプラグインシステムという大きなアーキテクチャ変更が入りました。v1.0以降は機能の安定性と拡張性を両立させながらアップデートが続いています。
バージョン系統主な特徴
v0.x系基本的なワークフロー・チャットフロー機能
v1.0.0プラグインシステム・Dify Marketplace導入
v1.1〜v1.5エージェント機能・RAG強化
v1.6〜v1.10MCPサーバー機能・バージョン管理機能
v1.11〜v1.13ワークフロー安定性・ストリーミング改善
テキトー教師テキトー教師
「dify バージョン アップ 履歴」で詳しく見たい場合はを直接確認するのが確実です。各バージョンのリリースノートに修正内容が詳しく書かれています。

よくある質問

テキトー教師テキトー教師
コミュニティのメンバーさんからよく来る質問をまとめておきます。

Q. バージョンアップ中にサービスが止まりますか?

室谷室谷
docker compose downを実行してからdocker compose up -dが完了するまでの間、サービスは停止します。数分程度で完了することが多いですが、ダウンタイムが許容できない本番環境ではメンテナンスウィンドウを設けて実施することをおすすめします。

Q. 「dify openai セットアップ」が変わりましたか?

テキトー教師テキトー教師
v1.0以降、OpenAIはプラグインとして管理されるようになりました。セットアップ方法自体はSettings > Model Providersで変わっていませんが、プラグインとして動いている点は違います。

Q. バージョンアップしたらワークフローが動かなくなった

室谷室谷
まずコンテナのログを確認します。docker compose logs apidocker compose logs workerで直近のエラーを確認してください。

次に.envの設定を確認し、.env.exampleと差分がないかを見ます。

Q. クラウド版(dify.ai)はバージョンアップ不要ですか?

テキトー教師テキトー教師
クラウド版はDify社が管理しているので、ユーザー側でのバージョンアップ作業は不要です。自動的に更新されます。

セルフホスト版を使っている場合のみ、この記事の内容が必要になります。

まとめ:Difyバージョンアップのポイント

室谷室谷
まとめると、Difyのバージョンアップはそれほど難しくはないんですよ。Dockerを使っている場合は、バックアップ → docker compose downgit pulldocker compose up -dの4ステップが基本です。
テキトー教師テキトー教師
ただしv0.xからv1.0への移行だけは特別な手順が必要です。プラグインマイグレーションコマンドを実行してからデータベースマイグレーションする流れを必ず守ってください。
室谷室谷
バージョンアップの頻度としては、セキュリティパッチが入ったパッチリリース(v1.13.2 → v1.13.3など)はできるだけ早めに対応し、マイナーバージョンアップ(v1.12 → v1.13など)は月1回程度のメンテナンス時にまとめて対応するのが現実的ですね。
テキトー教師テキトー教師
アップデートのお知らせはGitHubのReleases通知をWatchしておくと確実です。それとDify公式のDiscordやXアカウントもリリース情報を発信しています。
室谷室谷
.AI(ドットエーアイ)コミュニティでもDifyの活用事例を共有し合っているので、バージョンアップに関する最新情報や困ったことを相談したい方はぜひ参加してみてください。

出典

.AI TIMES一覧に戻る