First, I really like the idea and this project.
It's just what I want to connect paperless-ngx with openWEBUI (at least I think so, because I still did not get it running).
I followed the docker compose instructions (details will follow) but when I run docker compose up, I get the following output:
[marc@maxi PaperCortex]$ docker compose up
Executing external compose provider "/usr/lib/docker/cli-plugins/docker-compose". Please see podman-compose(1) for how to disable this message. <<<<
/PaperCortex main*
❯ docker compose up
>>>> Executing external compose provider "/usr/lib/docker/cli-plugins/docker-compose". Please see podman-compose(1) for how to disable this message. <<<<
Sending build context to Docker daemon 180.2kB
[1/2] STEP 1/7: FROM node:22-alpine AS builder
[1/2] STEP 2/7: WORKDIR /app
--> c4d42ccd0f0c
[1/2] STEP 3/7: COPY package.json package-lock.json* ./
--> 7aac478b14d6
[1/2] STEP 4/7: RUN npm ci
npm warn deprecated prebuild-install@7.1.3: No longer maintained. Please contact the author of the relevant native addon; alternatives are available.
added 262 packages, and audited 263 packages in 9s
77 packages are looking for funding
run `npm fund` for details
6 vulnerabilities (5 moderate, 1 high)
To address all issues, run:
npm audit fix
Run `npm audit` for details.
npm notice
npm notice New major version of npm available! 10.9.7 -> 11.14.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.14.0
npm notice To update run: npm install -g npm@11.14.0
npm notice
--> 2ed2e83d7a0a
[1/2] STEP 5/7: COPY tsconfig.json ./
--> b4e65d9d7f46
[1/2] STEP 6/7: COPY src/ ./src/
--> 720cf60d720f
[1/2] STEP 7/7: RUN npm run build
> papercortex@0.1.0 build
> tsc
--> 576b89c1d5b2
[2/2] STEP 1/13: FROM node:22-alpine
[2/2] STEP 2/13: WORKDIR /app
--> Using cache c4d42ccd0f0c4bceb532127adab06af8b5d2c767de279d23bbf058c69083b0a9
--> c4d42ccd0f0c
[2/2] STEP 3/13: RUN addgroup -g 1001 -S papercortex && adduser -S papercortex -u 1001
--> 72805e94bae7
[2/2] STEP 4/13: COPY package.json package-lock.json* ./
--> 66e4edb3809e
[2/2] STEP 5/13: RUN npm ci --omit=dev && npm cache clean --force
npm warn deprecated prebuild-install@7.1.3: No longer maintained. Please contact the author of the relevant native addon; alternatives are available.
added 129 packages, and audited 130 packages in 5s
38 packages are looking for funding
run `npm fund` for details
4 moderate severity vulnerabilities
To address all issues, run:
npm audit fix
Run `npm audit` for details.
npm notice
npm notice New major version of npm available! 10.9.7 -> 11.14.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.14.0
npm notice To update run: npm install -g npm@11.14.0
npm notice
npm warn using --force Recommended protections disabled.
--> d5c7717ac6ec
[2/2] STEP 6/13: COPY --from=builder /app/dist ./dist
--> ab22468c77e1
[2/2] STEP 7/13: RUN mkdir -p /app/data && chown papercortex:papercortex /app/data
--> 2a5200130b3b
[2/2] STEP 8/13: USER papercortex
--> 170bfa9b8bd4
[2/2] STEP 9/13: ENV NODE_ENV=production
--> 2b6451ddeff6
[2/2] STEP 10/13: ENV VECTOR_DB_PATH=/app/data/vectors.db
--> a89f96377bed
[2/2] STEP 11/13: EXPOSE 3100
--> 47946e00a675
[2/2] STEP 12/13: CMD ["node", "dist/mcp-server/index.js"]
--> 9c90523cead2
[2/2] STEP 13/13: LABEL "com.docker.compose.image.builder"="classic"
[2/2] COMMIT docker.io/library/papercortex-papercortex
--> 5a29cb5cd888
Successfully tagged docker.io/library/papercortex-papercortex:latest
5a29cb5cd8884acbcc220781b02438f05c942209363e1085adc36496dc4e9c56
Successfully built 5a29cb5cd888
Successfully tagged papercortex-papercortex
[+] up 2/2
✔ Image papercortex-papercortex Built 24.7s
✔ Container papercortex Created 0.0s
Attaching to papercortex
papercortex | PaperCortex MCP Server running on stdio
papercortex exited with code 0 (restarting)
papercortex exited with code 0 (restarting)
papercortex | PaperCortex MCP Server running on stdio
papercortex exited with code 0 (restarting)
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex exited with code 0 (restarting)
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex exited with code 0 (restarting)
papercortex exited with code 0 (restarting)
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex exited with code 0 (restarting)
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex exited with code 0 (restarting)
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
papercortex | PaperCortex MCP Server running on stdio
and so on.
I tried this with a clean environment (deleted docker volume and images beforehand).
Differences to a "vanilla" setup that may have an effect:
- I use podman and podman-compose instead of docker
- I am running ollama locally and run the container with "network_mode: host" (I also tried with the default network configuration and got the same result)
Here is the diff of my changes to the repo (only edited docker-compose.yml):
~/PaperCortex main*
❯ git diff
diff --git a/docker-compose.yml b/docker-compose.yml
index 81fba7b..74116b7 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -3,34 +3,13 @@ services:
build: .
container_name: papercortex
restart: unless-stopped
- ports:
- - "3100:3100"
+ network_mode: host
volumes:
- papercortex-data:/app/data
env_file:
- .env
environment:
- NODE_ENV=production
- depends_on:
- - ollama
-
- ollama:
- image: ollama/ollama:latest
- container_name: papercortex-ollama
- restart: unless-stopped
- ports:
- - "11434:11434"
- volumes:
- - ollama-models:/root/.ollama
- # Uncomment for NVIDIA GPU support:
- # deploy:
- # resources:
- # reservations:
- # devices:
- # - driver: nvidia
- # count: all
- # capabilities: [gpu]
volumes:
papercortex-data:
- ollama-models:
I had one observation:
Any changes that I make to the .env seem to have no effect.
I tried to change the log level to "debug" without any difference in the output.
I tried to set MCP_TRANSPORT to "http" but it still says "stdio" in the log
Additional system info:
❯ lsb_release -a
LSB Version: n/a
Distributor ID: cachyos
Description: CachyOS
Release: rolling
Codename: n/a
~
❯ podman -v
podman version 5.8.2
~
❯ uname -a
Linux maxi 7.0.3-1-cachyos #1 SMP PREEMPT Fri, 01 May 2026 16:30:15 +0000 x86_64 GNU/Linux
~
❯ ollama -v
ollama version is 0.23.0
~
❯ netstat -tln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:40175 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:5001 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.54:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:33429 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:11434 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:57343 0.0.0.0:* LISTEN
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:27036 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:27060 0.0.0.0:* LISTEN
tcp6 0 0 :::5355 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 :::1716 :::* LISTEN
tcp6 0 0 ::1:631 :::* LISTEN
I am also running openWEBUI with podman-compose and "network_mode: host" on that machine and it just works fine.
Only for reference, here is my docker-compose.yml for openWEBUI and docling:
❯ cat docker-compose.yml
services:
scanner:
image: quay.io/docling-project/docling-serve
restart: always
network_mode: host
environment:
# Enable the web UI for testing
- DOCLING_SERVE_ENABLE_UI=false
# CRITICAL: Required for picture description with external LLM APIs
- DOCLING_SERVE_ENABLE_REMOTE_SERVICES=false
# Maximum wait time for sync requests (seconds) - increase for large documents
- DOCLING_SERVE_MAX_SYNC_WAIT=600
# Number of local engine workers
- DOCLING_SERVE_ENG_LOC_NUM_WORKERS=2
# CPU thread configuration
- OMP_NUM_THREADS=12
- MKL_NUM_THREADS=12
# IMPORTANT: Keep at 1 to avoid "Task Not Found" errors
- UVICORN_WORKERS=1
webserver:
image: ghcr.io/open-webui/open-webui:main
restart: always
depends_on:
- scanner
network_mode: host
volumes:
- ./data:/app/backend/data
Maybe I am missing something?
I would be willing to debug this, but I need a pointer where to start.
Being able to increase the log level would probably already help.
First, I really like the idea and this project.
It's just what I want to connect paperless-ngx with openWEBUI (at least I think so, because I still did not get it running).
I followed the docker compose instructions (details will follow) but when I run
docker compose up, I get the following output:[marc@maxi PaperCortex]$ docker compose up
and so on.
I tried this with a clean environment (deleted docker volume and images beforehand).
Differences to a "vanilla" setup that may have an effect:
Here is the diff of my changes to the repo (only edited docker-compose.yml):
I had one observation:
Any changes that I make to the .env seem to have no effect.
I tried to change the log level to "debug" without any difference in the output.
I tried to set
MCP_TRANSPORTto "http" but it still says "stdio" in the logAdditional system info:
I am also running openWEBUI with podman-compose and "network_mode: host" on that machine and it just works fine.
Only for reference, here is my docker-compose.yml for openWEBUI and docling:
❯ cat docker-compose.yml
Maybe I am missing something?
I would be willing to debug this, but I need a pointer where to start.
Being able to increase the log level would probably already help.