[GH-ISSUE #16213] issue: [Errno 30] Read-only file system: '/nonexistent' on .xlsx file upload in read-only Docker environment #17824

Closed
opened 2026-04-19 23:42:48 -05:00 by GiteaMirror · 2 comments
Owner

Originally created by @joewang705 on GitHub (Aug 1, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/16213

Check Existing Issues

  • I have searched the existing issues and discussions.
  • I am using the latest version of Open WebUI.

Installation Method

Docker

Open WebUI Version

v0.6.15

Ollama Version (if applicable)

No response

Operating System

Docker container (Linux) running on ECR instance

Browser (if applicable)

Chrome

Confirmation

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have provided every relevant configuration, setting, and environment variable used in my setup.
  • I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
  • I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
  • Start with the initial platform/version/OS and dependencies used,
  • Specify exact install/launch/configure commands,
  • List URLs visited, user input (incl. example values/emails/passwords if needed),
  • Describe all options and toggles enabled or changed,
  • Include any files or environmental changes,
  • Identify the expected and actual result at each stage,
  • Ensure any reasonably skilled user can follow and hit the same issue.

Expected Behavior

When uploading .xlsx files in a read-only Docker environment with tmpfs mounts for data and static directories, the file should be processed successfully without filesystem write errors.

Actual Behavior

File upload fails with error: [Errno 30] Read-only file system: '/nonexistent'

Steps to Reproduce

  1. Start with Open WebUI v0.6.15 in a Docker environment
  2. Configure Docker container with --read-only flag
  3. Mount tmpfs volumes for /data, /static, and /tmp directories
  4. Set environment variables:
    • DATA_DIR=/data
    • STATIC_DIR=/static
    • ENABLE_OLLAMA_API=false
    • ENABLE_OPENAI_API=true
    • OPENAI_API_KEY=[redacted]
  5. Run container with command:
    `docker run -v /path/to/hugging_face:/hugging_face

-e HF_HOME=/hugging_face

-v /path/to/webui_secret_key:/webui_secret_key

-e ENABLE_OLLAMA_API=false

-e ENABLE_OPENAI_API=true

-e DATA_DIR=/data

-e STATIC_DIR=/static

-e OPENAI_API_KEY='[redacted]'

-e WEBUI_SECRET_KEY=/webui_secret_key

--read-only

-p 5173:5173 -p 8080:8080

--tmpfs /static

--tmpfs /data

--tmpfs /tmp

[our-ecr-image]`

  1. Access the web interface
  2. Attempt to upload an .xlsx file
  3. Observe the error right after file upload: [Errno 30] Read-only file system: '/nonexistent'

Logs & Screenshots

In console log:
File upload warning: [Errno 30] Read-only file system: '/nonexistent' @ https://github.com/open-webui/open-webui/blob/b8da4a8cd8257d4846f3608e299618a0b4f185ed/src/lib/components/chat/MessageInput.svelte#L559

Additional Information

We were able to track down the root cause to be related to the document processing/embedding code (LangChain ExcelLoader here https://github.com/open-webui/open-webui/blob/b8da4a8cd8257d4846f3608e299618a0b4f185ed/backend/open_webui/routers/retrieval.py#L1330) which in some ay is attempting to write to a hardcoded path '/nonexistent' instead of using the configured temporary directories or respecting the read-only filesystem constraints

Originally created by @joewang705 on GitHub (Aug 1, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/16213 ### Check Existing Issues - [x] I have searched the existing issues and discussions. - [x] I am using the latest version of Open WebUI. ### Installation Method Docker ### Open WebUI Version v0.6.15 ### Ollama Version (if applicable) _No response_ ### Operating System Docker container (Linux) running on ECR instance ### Browser (if applicable) Chrome ### Confirmation - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** Open WebUI and Ollama. - [x] I have included the browser console logs. - [x] I have included the Docker container logs. - [x] I have **provided every relevant configuration, setting, and environment variable used in my setup.** - [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc). - [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps: - Start with the initial platform/version/OS and dependencies used, - Specify exact install/launch/configure commands, - List URLs visited, user input (incl. example values/emails/passwords if needed), - Describe all options and toggles enabled or changed, - Include any files or environmental changes, - Identify the expected and actual result at each stage, - Ensure any reasonably skilled user can follow and hit the same issue. ### Expected Behavior When uploading .xlsx files in a read-only Docker environment with tmpfs mounts for data and static directories, the file should be processed successfully without filesystem write errors. ### Actual Behavior File upload fails with error: [Errno 30] Read-only file system: '/nonexistent' ### Steps to Reproduce 1. Start with Open WebUI v0.6.15 in a Docker environment 2. Configure Docker container with --read-only flag 3. Mount tmpfs volumes for /data, /static, and /tmp directories 4. Set environment variables: - DATA_DIR=/data - STATIC_DIR=/static - ENABLE_OLLAMA_API=false - ENABLE_OPENAI_API=true - OPENAI_API_KEY=[redacted] 5. Run container with command: `docker run -v /path/to/hugging_face:/hugging_face -e HF_HOME=/hugging_face -v /path/to/webui_secret_key:/webui_secret_key -e ENABLE_OLLAMA_API=false -e ENABLE_OPENAI_API=true -e DATA_DIR=/data -e STATIC_DIR=/static -e OPENAI_API_KEY='[redacted]' -e WEBUI_SECRET_KEY=/webui_secret_key --read-only -p 5173:5173 -p 8080:8080 --tmpfs /static --tmpfs /data --tmpfs /tmp [our-ecr-image]` 6. Access the web interface 7. Attempt to upload an .xlsx file 8. Observe the error right after file upload: [Errno 30] Read-only file system: '/nonexistent' ### Logs & Screenshots In console log: `File upload warning: [Errno 30] Read-only file system: '/nonexistent'` @ [https://github.com/open-webui/open-webui/blob/b8da4a8cd8257d4846f3608e299618a0b4f185ed/src/lib/components/chat/MessageInput.svelte#L559](url) ### Additional Information We were able to track down the root cause to be related to the document processing/embedding code (LangChain ExcelLoader here [https://github.com/open-webui/open-webui/blob/b8da4a8cd8257d4846f3608e299618a0b4f185ed/backend/open_webui/routers/retrieval.py#L1330](url)) which in some ay is attempting to write to a hardcoded path '/nonexistent' instead of using the configured temporary directories or respecting the read-only filesystem constraints
GiteaMirror added the bug label 2026-04-19 23:42:48 -05:00
Author
Owner

@rgaricano commented on GitHub (Aug 1, 2025):

not sure (i don't use docker) but, did you set tmpfs flag for exec & rw? ( e.g. --tmpfs /mytmp:exec ubuntu bash -c "mount | grep mytmp" tmpfs on /mytmp type tmpfs (rw,nosuid,nodev,relatime) )

<!-- gh-comment-id:3144038936 --> @rgaricano commented on GitHub (Aug 1, 2025): not sure (i don't use docker) but, did you set tmpfs flag for exec & rw? ( e.g. `--tmpfs /mytmp:exec ubuntu bash -c "mount | grep mytmp" tmpfs on /mytmp type tmpfs (rw,nosuid,nodev,relatime)` )
Author
Owner

@tjbck commented on GitHub (Aug 2, 2025):

Unable to reproduce, keep us updated.

<!-- gh-comment-id:3146429058 --> @tjbck commented on GitHub (Aug 2, 2025): Unable to reproduce, keep us updated.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#17824