From 8fa22d099769e471cb3cb39406f5f6016184001a Mon Sep 17 00:00:00 2001 From: Classic298 <27028174+Classic298@users.noreply.github.com> Date: Sat, 10 Oct 2026 18:00:02 +0200 Subject: [PATCH] fix: Datalab Marker extraction fails on installs outside the Docker image (#32164) With Datalab Marker as the content extraction engine, every file upload it processed failed on pip and source installs with `Permission denied: '/app'`, because Open WebUI saved a copy of the extracted text under `/app`, a folder that only exists inside the Docker image. That copy now goes to the uploads folder inside `DATA_DIR`, so extraction works on any install. Docker installs with the default data directory keep the same location. Fixes #32025 --- backend/open_webui/retrieval/loaders/datalab_marker.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/open_webui/retrieval/loaders/datalab_marker.py b/backend/open_webui/retrieval/loaders/datalab_marker.py index 8f208c45ce..6615419b8a 100644 --- a/backend/open_webui/retrieval/loaders/datalab_marker.py +++ b/backend/open_webui/retrieval/loaders/datalab_marker.py @@ -7,6 +7,7 @@ from typing import List, Optional import requests from fastapi import HTTPException, status from langchain_core.documents import Document +from open_webui.config import UPLOAD_DIR from open_webui.utils.json_codec import JSONCodec log = logging.getLogger(__name__) @@ -208,7 +209,7 @@ class DatalabMarkerLoader: detail='Marker returned empty content', ) - marker_output_dir = os.path.join('/app/backend/data/uploads', 'marker_output') + marker_output_dir = os.path.join(UPLOAD_DIR, 'marker_output') os.makedirs(marker_output_dir, exist_ok=True) file_ext_map = {'markdown': 'md', 'json': 'json', 'html': 'html'}