2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Dify v1.6.0リリース!:セルフホストDify環境をバージョンアップしてみた

Last updated at Posted at 2025-07-12

はじめに

2025年7月、Dify v1.6.0がリリースされました!

このアップデートでは、目玉となるMCP(Model Context Protocol)対応 を中心に、ワークフロー機能の強化、UI/UXの改善など、大きな進化が盛り込まれるとのこと。

本記事では、早速新しいバージョンを使うために、セルフホストのDify環境をv1.6.0へバージョンアップしてみます。

Dify v1.6.0 新機能概要

注目ポイント
🔷 新機能
◉ MCP(Model Context Protocol)対応
モデル連携の標準化により、複数LLMの統合がよりスムーズに。

🔷 主な強化点
◉ UI改善:トピックをドラッグ&ドロップで並び替え可能に。
◉ 設定強化:HTTPノードでSSL検証のオン/オフが選べるように。
◉ 分類機能:質問分類器でinstanceId指定が可能に。
◉ 安定性向上:バッチ処理とRedisの耐障害性を強化。

リリースノート

リリースノートに記載のある「Upgrade Guide」を参考にバージョンアップを行いました。

既存バージョン

v1.5.1からアップグレードします。

スクリーンショット 2025-07-12 113256.png

セルフホストDify環境バージョンアップ手順

Difyを稼働させているLinuxサーバ上で実行したバージョンアップへの手順です。
リリースノートの「Upgrade Guide」には、Docker Compose によるサービスの管理と、Pythonソースコードによる直接運用の2つの方法が記載されていました。
今回は1つ目のやり方で実施しました。(2つ目のソースコードでの手順についても後半に記載しています。)

Docker Compose による手順

Docker Compose を使って構築されている Dify 環境を安全にアップグレードするための手順です。

1. docker-compose.yaml のバックアップ

構成ファイルを変更する前に、現在の状態をバックアップしておきます。
トラブルが発生した場合にロールバック可能なように、タイムスタンプ付きでコピーを作成します。

cd docker
cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak

2. 最新コードの取得

Gitで main ブランチに切り替え、最新のリモートリポジトリからコードを取得します。

git checkout main
git pull origin main

3. サービスの停止

コンテナを停止・破棄します。ボリュームのデータは維持されたまま、アプリケーションコンテナが終了します。

docker compose down

4. ボリュームデータのバックアップ

永続化された volumes/ ディレクトリを .tgz 形式でバックアップします。

tar -cvf volumes-$(date +%s).tgz volumes

ただし、redis の dump.rdb など一部ファイルで Permission denied エラーが発生しました。sudo を使っても同様の結果になりましたが、今回の環境ではRedisは使用しておらず、また再構築時に自動生成されるようなので、バックアップはなしで進めました。

tar: volumes/redis/data/dump.rdb: Cannot open: Permission denied
...(中略)

5. サービスの再起動

停止していたサービスをバックグラウンドで起動します。
イメージが更新されていれば自動的にPullされます。

docker compose up -d

リリースノートUpgrade Guide」の2つ目の方法についても記載します。

ソースコードによる手順

Dockerを使わず、直接ソースコードから起動する構成に対する更新手順です。

1. 稼働中のサービス(API / Worker / Web)の停止

手動またはスクリプトで実行中のプロセスを停止します。

例:

pkill -f "python api"
pkill -f "python worker"
pkill -f "npm run dev"

2. リリース対象ブランチへの切り替え

今回は 1.6.0 タグに対応するブランチに切り替えています。

git checkout 1.6.0

3. Python ライブラリの同期

uv ツールを使って pyproject.toml に基づく依存パッケージをインストールします。

cd api
uv sync

uvpip より高速で、依存解決も正確に行えるツールです。インストールされていない場合は、この場でインストールします。

curl -Ls https://astral.sh/uv/install.sh | bash

4. データベースマイグレーションの実行

Flaskのマイグレーション機能を使って、DBスキーマのアップデートを行います。

uv run flask db upgrade

5. サービスの再起動

API、Worker、Webフロントを再起動します。


おわりに

image.png

無事バージョンアップできました!
早速v1.6.0を試してみようと思います。

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?