diff --git a/Dockerfile b/Dockerfile index de43a42..f8b48b7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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"]