diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..ee3f308 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,12 @@ +.git +.github +.venv +docs +examples +tests +*.knxproj +*.knxkeys +__pycache__ +*.egg-info +.pytest_cache +.DS_Store diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..13f5176 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +# Container image for the nickol-knx-mcp stdio MCP server. +# Used by Glama (https://glama.ai) to start the server and run MCP introspection. +FROM python:3.12-slim + +WORKDIR /app + +# Install the package (and its deps) from source +COPY pyproject.toml README.md ./ +COPY nickol_knx_mcp ./nickol_knx_mcp +RUN pip install --no-cache-dir . + +# Confined output workspace (the server only ever writes here; no bus access) +ENV NICKOL_KNX_WORKSPACE=/workspace +RUN mkdir -p /workspace + +# stdio MCP server — Glama pipes JSON-RPC over stdin/stdout for introspection +ENTRYPOINT ["nickol-knx-mcp"]