はじめに
Dify community v1.16.1へバージョンアップ(または新規構築)したところ、コラボレーション機能に関係するバグに遭遇しました。
該当のバグはGitHubでも議論されており、すでに回避策が共有されています。
In synchronizing data, it only takes a few seconds
#39904
今回は、v1.16.1で発生する「データ同期中。。。」が終わらないバグの簡単な対処法をご紹介します。
環境
- Docker
- Dify Community v1.16.1
事象
Difyを起動し、アプリの開発画面(キャンバス)を開いたところ以下の表示が出ました。

画面中央部にデータ同期中。。。という表示が出続けて消えず、ノードの編集やモデル設定などの作業が一切できない状態になります。
補足:そもそもコラボレーション機能(Workflow Collaboration)とは?
今回バグの原因となっている「コラボレーション機能」は、Dify v1.14.0 以降で追加された複数人でリアルタイムにワークフローを共同編集・議論できる新機能です。
主な機能:
- リアルタイム共同編集: 複数のメンバーが同時にキャンバス上のノードを編集可能(編集が競合した場合は「後勝ち」)。
-
キャンバス上のコメント機能: 空白エリアを右クリック、または
Cキーでコメントを配置可能。@メンバー名で通知メールを送信することも可能。 - カーソル表示: 共同作業しているメンバーのカーソルがリアルタイムに画面上に表示(右下のメニューから非表示化も可能)。
非常に便利な機能ですが、内部的にはメインAPIとは別に WebSocket通信(api_websocket コンテナ) を利用しているため、今回のようなネットワーク接続や暗号化キー周りの初期バグが発生しやすい状態になっています。
公式ドキュメント: Collaborate with Teammates
原因
バックエンド(Redis Pub/Sub)側でソケットのタイムアウトが発生し、フロントエンド側へデータ同期完了のイベントが届かなくなることで「データ同期中…」の表示でフリーズする現象が発生しています。
また、apiとapi_websocketコンテナ間でSECRET_KEYが一致していないことも一因として指摘されています。
これらの不具合は以あ下のPRで修正されており、今後のリリースに反映される見込みです。
- fix(socketio): omit socket_timeout from RedisManager pub/sub options- #39587
#39587 - fix(docker): mount shared storage volume in api_websocket- #39424
#39424
対処法1(推奨:コラボレーション機能をオフにする)
複数人でのリアルタイム共同編集機能(コラボレーションモード)をオフにすることで回避できます。
1.dify/docker/.envを開きます。
2.ENABLE_COLLABORATION_MODEをfalseに変更します
ENABLE_COLLABORATION_MODE=false
※defaultでは
trueになっています
3.Dockerコンテナを再起動します。
docker compose down
docker compose up -d
再起動後、再度アプリ開発画面を開くと「データ同期中。。。」の表示が消え、正常に編集できるようになります。
対処法2(コラボレーション機能を維持したい場合)
リアルタイム共同編集機能を有効にしたまま動作させたい場合、GitHub Issue等で紹介されている以下の設定をする方法があります。
(※設定変更を伴うため、基本的には修正パッチが含まれる次のリリースを待つことを推奨します。実施する場合は自己責任でお願いします。)
1.強力なキーを生成
openssl rand -base64 42
2.dify/docker/.envのSECRET_KEYに発行したキーを設定する
SECRET_KEY={発行したキーを設定}
3.dify/docker/docker-compose.yamlを開きます。
4.api_websocketのvolumesにストレージのマウント設定を追加します。
api_websocket:
volumes:
- ./volumes/app/storage:/app/api/storage
※すでにvolumes設定がある場合は追記不要です。
5.Dockerコンテナを再起動します。
docker compose down
docker compose up -d
おわりに
基本的には 「対処法1」で運用しつつ、今後の修正リリース(v1.16.2以降など)を待つのが最も賢明 だと思います。同じ現象で困っている方の参考になれば幸いです。