Switch to spranab/truenas-mcp (npm, 278 actions/18 categories) - node:20-slim base, mcp pinned before mcpo

This commit is contained in:
2026-08-28 19:14:00 +03:00
parent 686f12fdd2
commit 71f808f2c3
+8 -8
View File
@@ -1,15 +1,15 @@
FROM python:3.11-slim
FROM node:20-slim
WORKDIR /app
# Компилятор нужен для сборки некоторых Python-пакетов
RUN apt-get update && apt-get install -y --no-install-recommends gcc && rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y --no-install-recommends python3 python3-pip && rm -rf /var/lib/apt/lists/*
# Явно фиксируем версию mcp на стабильную v1: mcpo требует mcp>=1.28,
# а truenas-mcp-server может тянуть более старую версию как зависимость.
# Ставим mcp первым шагом, чтобы дальнейшая установка его не понизила.
RUN pip install --no-cache-dir "mcp>=1.28,<2.0"
# Явно фиксируем версию 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
RUN pip install --no-cache-dir mcpo truenas-mcp-server
# Прогреваем кэш npx, чтобы при каждом старте контейнера не тянуть пакет заново
RUN npx -y truenas-mcp --help || true
EXPOSE 8000
ENTRYPOINT ["mcpo"]