Local plugin installation fails with Permission Denied (os error 13) on .uv-cache
Self Checks
- I have read the Contributing Guide and Language Policy.
- This is only for bug report, if you would like to ask a question, please head to Discussions.
- I have searched for existing issues search for existing issues, including closed ones.
- I confirm that I am using English to submit this report, otherwise it will be closed.
- 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
- Please do not modify this template :) and fill in all the required fields.
Dify version
09d52fdf8248 langgenius/dify-api:1.17.1
Cloud or Self Hosted
Self Hosted (Docker)
Steps to reproduce
AI summary: When installing local plugin packages in a Docker environment, the uv package manager fails to write/rename files in /app/storage/cwd/.uv-cache/ due to permission denied (os error 13). The plugin runtime sandbox lacks proper write permissions for dependency installation.
Install plugin from local storage. It falis with code:
File Upload to Knowledge Base failed to launch plugin: failed to install dependencies: failed to install dependencies: exit status 1, output: DEBUG Searching for user configuration in: /root/.config/uv/uv.tomlDEBUG uv 0.12.2 (x86_64-unknown-linux-gnu) TRACE Checking lock for/app/storage/cwd/.uv-cacheat/app/storage/cwd/.uv-cache/.lockTRACE Acquired shared lock for/app/storage/cwd/.uv-cache`
DEBUG Searching for default Python interpreter in virtual environments
TRACE Querying interpreter executable at /app/storage/cwd/r3-yama...pp/storage/cwd/.uv-cache/archive-v0/hZHhpY4aKEuVpUxw: Permission
denied (os error 13)
hint: urllib3 (v2.8.0) was included because dify-plugin (v0.6.2) depends on requests (v2.32.5) which depends on urllib3
TRACE Released lock at /app/storage/cwd/r3-yamauchi/knowledgebase_update-0.0.1@cd115deb1817e8d89d605cfb1a1d3fd4f96c0f4fb767cddb7948ab4ea0a0e35d/.venv/.lock
TRACE Released lock at /app/storage/cwd/.uv-cache/.lock
TRACE Streams::recv_eof
TRACE Streams::recv_eof
failed to init environment`
or
Telegram failed to launch plugin: failed to install dependencies: failed to install dependencies: exit status 1, output: DEBUG Found workspace root: /app/storage/cwd/langgenius/telegram_trigger-0.1.0@f5515bd8178e023ed26db7ca727200b433d5f3fc3014f764d698dae7e69c47daDEBUG Adding root workspace member:/app/storage/cwd/langgenius/telegram_trigger-0.1.0@f5515bd8178e023ed26db7ca727200b433d5f3fc3014f764d698dae7e69c47daDEBUG Skippingpyproject.tomlin/app/storage/cwd/langgenius/[email protected] pydantic-core (2.0MiB)
Downloaded pydantic-core
Downloaded tiktoken
× Failed to download gevent==26.5.0
├─▶ Failed to read from the distribution cache
╰─▶ failed to rename file from /app/storage/cwd/.uv-cache/.tmprH7LXW to
/app/storage/cwd/.uv-cache/archive-v0/dKnt3qnqidIf_yYO: Permission
denied (os error 13)
hint: gevent (v26.5.0) was included because telegram-trigger (v0.1.0) depends on dify-plugin (v0.9.1) which depends on gevent
failed to init environment`
✔️ Expected Behavior
Success Windows 11 with WSL
❌ Actual Behavior
Failure
Source: langgenius/dify