From 42117ab4b0798ca9c52478101387032fc2a84956 Mon Sep 17 00:00:00 2001 From: host Date: Sun, 1 Nov 2026 23:59:36 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D1=84=D0=B0=D0=B9=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- stacks/truenas-mcp/truenas/Dockerfile | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 stacks/truenas-mcp/truenas/Dockerfile diff --git a/stacks/truenas-mcp/truenas/Dockerfile b/stacks/truenas-mcp/truenas/Dockerfile new file mode 100644 index 0000000..f8b48b7 --- /dev/null +++ b/stacks/truenas-mcp/truenas/Dockerfile @@ -0,0 +1,16 @@ +FROM node:20-slim +WORKDIR /app + +RUN apt-get update && apt-get install -y --no-install-recommends python3 python3-pip && rm -rf /var/lib/apt/lists/* + +# Явно фиксируем версию mcp ДО установки mcpo, иначе mcpo подтянет несовместимую +# версию без streamablehttp_client и упадёт с ImportError при старте. +RUN pip3 install --no-cache-dir --break-system-packages "mcp>=1.28,<2.0" +RUN pip3 install --no-cache-dir --break-system-packages mcpo + +# Прогреваем кэш npx, чтобы при каждом старте контейнера не тянуть пакет заново +RUN npx -y truenas-mcp --help || true + +EXPOSE 8000 +ENTRYPOINT ["mcpo"] +CMD ["--host", "0.0.0.0", "--port", "8000", "--config", "/app/config.json"]