dify icon indicating copy to clipboard operation
dify copied to clipboard

Inconsitency between `PLUGIN_WORKING_PATH` and mount path for persistent volume

Open BorisPolonsky opened this issue 9 months ago • 1 comments

Self Checks

  • [x] This is only for bug report, if you would like to ask a question, please head to Discussions.
  • [x] I have searched for existing issues search for existing issues, including closed ones.
  • [x] I confirm that I am using English to submit this report (我已阅读并同意 Language Policy).
  • [x] [FOR CHINESE USERS] 请务必使用英文提交 Issue,否则会被关闭。谢谢!:)
  • [x] Please do not modify this template :) and fill in all the required fields.

Dify version

v1.0.0

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

https://github.com/langgenius/dify/blob/e796937d0233578abcd92dd2779a220a7b90e099/docker/docker-compose.yaml#L570-L578 The PLUGIN_WORKING_PATH suggest /app/storage/cwd while the persistent volume were mounted as path /app/storage. So what else were to be persisted in /app/storage besides /app/storage/cwd? Is /app/storage hardcoded in pluginDaemon for data persistence.

✔️ Expected Behavior

Path for data persistent should be configurable or at lease explicitly documented.

❌ Actual Behavior

https://github.com/BorisPolonsky/dify-helm/pull/148 Some user claims that persistency doesn't work as expected when persistent volume were mount as /app/storage/cwd

BorisPolonsky avatar Mar 14 '25 00:03 BorisPolonsky

The inconsistency between PLUGIN_WORKING_PATH and the mount path for the persistent volume arises because PLUGIN_WORKING_PATH is set to /app/storage/cwd in the environment variables, while the volume is mounted to /app/storage. This discrepancy can lead to issues with data persistence, as the actual working directory for the plugin daemon might not align with the expected path if it relies on the PLUGIN_WORKING_PATH variable.

Yes, /app/storage is effectively hardcoded in the pluginDaemon for data persistence, as indicated by the volume mapping in the docker-compose configuration:

volumes:
  - ./volumes/plugin_daemon:/app/storage

This setup suggests that the data persistence path is /app/storage, which differs from the PLUGIN_WORKING_PATH of /app/storage/cwd [1].

To address this issue, it would be beneficial to make the path for data persistence configurable or to provide explicit documentation on the expected configuration. This would help prevent data loss and ensure that the storage path functions as expected.

To continue talking to Dosu, mention @dosu.


Help Dosu learn! Give it feedback: Great Response | Irrelevant Answer | Incorrect Sources | Too Verbose | Hallucination | Bug Report | Other

dosubot[bot] avatar Mar 14 '25 00:03 dosubot[bot]