From e33f4077560ca6061bd8179bb6ba3cfb00821330 Mon Sep 17 00:00:00 2001 From: Charles N Wyble Date: Wed, 21 Jan 2026 17:27:15 -0500 Subject: [PATCH] chore: add dockerfiles directory for custom container definitions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Track custom Dockerfiles created for repositories that don't include native container definitions. Organized by service name in dockerfiles/ subdirectory: - kicad-mcp - blender-mcp - freecad-mcp - docker-mcp - proxmox-mcp - mcp-cloudron - bash-language-server - context7-mcp - ghost-mcp - discourse-mcp - matomo-mcp - gimp-mcp - snipeit-mcp - wordpress-mcp - drawio-mcp - audiobook-mcp 💘 Generated with Crush Assisted-by: GLM-4.7 via Crush --- dockerfiles/audiobook-mcp/Dockerfile | 13 +++++++++++ dockerfiles/bash-language-server/Dockerfile | 13 +++++++++++ dockerfiles/blender-mcp/Dockerfile | 24 +++++++++++++++++++++ dockerfiles/context7-mcp/Dockerfile | 16 ++++++++++++++ dockerfiles/discourse-mcp/Dockerfile | 13 +++++++++++ dockerfiles/docker-mcp/Dockerfile | 24 +++++++++++++++++++++ dockerfiles/drawio-mcp/Dockerfile | 13 +++++++++++ dockerfiles/freecad-mcp/Dockerfile | 24 +++++++++++++++++++++ dockerfiles/ghost-mcp/Dockerfile | 13 +++++++++++ dockerfiles/gimp-mcp/Dockerfile | 24 +++++++++++++++++++++ dockerfiles/kicad-mcp/Dockerfile | 21 ++++++++++++++++++ dockerfiles/matomo-mcp/Dockerfile | 13 +++++++++++ dockerfiles/mcp-cloudron/Dockerfile | 13 +++++++++++ dockerfiles/proxmox-mcp/Dockerfile | 24 +++++++++++++++++++++ dockerfiles/snipeit-mcp/Dockerfile | 24 +++++++++++++++++++++ dockerfiles/wordpress-mcp/Dockerfile | 13 +++++++++++ 16 files changed, 285 insertions(+) create mode 100644 dockerfiles/audiobook-mcp/Dockerfile create mode 100644 dockerfiles/bash-language-server/Dockerfile create mode 100644 dockerfiles/blender-mcp/Dockerfile create mode 100644 dockerfiles/context7-mcp/Dockerfile create mode 100644 dockerfiles/discourse-mcp/Dockerfile create mode 100644 dockerfiles/docker-mcp/Dockerfile create mode 100644 dockerfiles/drawio-mcp/Dockerfile create mode 100644 dockerfiles/freecad-mcp/Dockerfile create mode 100644 dockerfiles/ghost-mcp/Dockerfile create mode 100644 dockerfiles/gimp-mcp/Dockerfile create mode 100644 dockerfiles/kicad-mcp/Dockerfile create mode 100644 dockerfiles/matomo-mcp/Dockerfile create mode 100644 dockerfiles/mcp-cloudron/Dockerfile create mode 100644 dockerfiles/proxmox-mcp/Dockerfile create mode 100644 dockerfiles/snipeit-mcp/Dockerfile create mode 100644 dockerfiles/wordpress-mcp/Dockerfile diff --git a/dockerfiles/audiobook-mcp/Dockerfile b/dockerfiles/audiobook-mcp/Dockerfile new file mode 100644 index 0000000..cdda738 --- /dev/null +++ b/dockerfiles/audiobook-mcp/Dockerfile @@ -0,0 +1,13 @@ +FROM node:22-alpine + +WORKDIR /app + +COPY package.json package-lock.json* ./ + +RUN npm ci + +COPY . . + +RUN npm run build + +CMD ["node", "dist/index.js"] diff --git a/dockerfiles/bash-language-server/Dockerfile b/dockerfiles/bash-language-server/Dockerfile new file mode 100644 index 0000000..cdda738 --- /dev/null +++ b/dockerfiles/bash-language-server/Dockerfile @@ -0,0 +1,13 @@ +FROM node:22-alpine + +WORKDIR /app + +COPY package.json package-lock.json* ./ + +RUN npm ci + +COPY . . + +RUN npm run build + +CMD ["node", "dist/index.js"] diff --git a/dockerfiles/blender-mcp/Dockerfile b/dockerfiles/blender-mcp/Dockerfile new file mode 100644 index 0000000..36dc8c5 --- /dev/null +++ b/dockerfiles/blender-mcp/Dockerfile @@ -0,0 +1,24 @@ +FROM python:3.12-slim + +# Install uv for faster package management +COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ + +WORKDIR /app + +# Copy dependency files +COPY pyproject.toml ./ + +# Install dependencies +RUN uv sync --frozen --no-dev --no-install-project --no-cache + +# Copy source code +COPY . . + +# Install the project +RUN uv sync --frozen --no-dev --no-editable --no-cache + +# Set up environment +ENV PYTHONUNBUFFERED=1 +ENV PATH=/app/.venv/bin:$PATH + +ENTRYPOINT ["uvx", "blender-mcp"] diff --git a/dockerfiles/context7-mcp/Dockerfile b/dockerfiles/context7-mcp/Dockerfile new file mode 100644 index 0000000..356995a --- /dev/null +++ b/dockerfiles/context7-mcp/Dockerfile @@ -0,0 +1,16 @@ +FROM node:22-alpine + +# Install pnpm for monorepo +RUN npm install -g pnpm + +WORKDIR /app + +COPY package.json pnpm-lock.yaml ./ + +RUN pnpm install --frozen-lockfile + +COPY . . + +RUN pnpm --filter @upstash/context7-mcp build + +CMD ["node", "packages/mcp/dist/index.js", "--transport", "stdio"] diff --git a/dockerfiles/discourse-mcp/Dockerfile b/dockerfiles/discourse-mcp/Dockerfile new file mode 100644 index 0000000..cdda738 --- /dev/null +++ b/dockerfiles/discourse-mcp/Dockerfile @@ -0,0 +1,13 @@ +FROM node:22-alpine + +WORKDIR /app + +COPY package.json package-lock.json* ./ + +RUN npm ci + +COPY . . + +RUN npm run build + +CMD ["node", "dist/index.js"] diff --git a/dockerfiles/docker-mcp/Dockerfile b/dockerfiles/docker-mcp/Dockerfile new file mode 100644 index 0000000..b5ecdf2 --- /dev/null +++ b/dockerfiles/docker-mcp/Dockerfile @@ -0,0 +1,24 @@ +FROM python:3.12-slim + +# Install uv for faster package management +COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ + +WORKDIR /app + +# Copy dependency files +COPY pyproject.toml ./ + +# Install dependencies +RUN uv sync --frozen --no-dev --no-install-project --no-cache + +# Copy source code +COPY . . + +# Install the project +RUN uv sync --frozen --no-dev --no-editable --no-cache + +# Set up environment +ENV PYTHONUNBUFFERED=1 +ENV PATH=/app/.venv/bin:$PATH + +ENTRYPOINT ["uvx", "docker-mcp"] diff --git a/dockerfiles/drawio-mcp/Dockerfile b/dockerfiles/drawio-mcp/Dockerfile new file mode 100644 index 0000000..cdda738 --- /dev/null +++ b/dockerfiles/drawio-mcp/Dockerfile @@ -0,0 +1,13 @@ +FROM node:22-alpine + +WORKDIR /app + +COPY package.json package-lock.json* ./ + +RUN npm ci + +COPY . . + +RUN npm run build + +CMD ["node", "dist/index.js"] diff --git a/dockerfiles/freecad-mcp/Dockerfile b/dockerfiles/freecad-mcp/Dockerfile new file mode 100644 index 0000000..b17838a --- /dev/null +++ b/dockerfiles/freecad-mcp/Dockerfile @@ -0,0 +1,24 @@ +FROM python:3.12-slim + +# Install uv for faster package management +COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ + +WORKDIR /app + +# Copy dependency files +COPY pyproject.toml ./ + +# Install dependencies +RUN uv sync --frozen --no-dev --no-install-project --no-cache + +# Copy source code +COPY . . + +# Install the project +RUN uv sync --frozen --no-dev --no-editable --no-cache + +# Set up environment +ENV PYTHONUNBUFFERED=1 +ENV PATH=/app/.venv/bin:$PATH + +ENTRYPOINT ["uvx", "freecad-mcp"] diff --git a/dockerfiles/ghost-mcp/Dockerfile b/dockerfiles/ghost-mcp/Dockerfile new file mode 100644 index 0000000..cdda738 --- /dev/null +++ b/dockerfiles/ghost-mcp/Dockerfile @@ -0,0 +1,13 @@ +FROM node:22-alpine + +WORKDIR /app + +COPY package.json package-lock.json* ./ + +RUN npm ci + +COPY . . + +RUN npm run build + +CMD ["node", "dist/index.js"] diff --git a/dockerfiles/gimp-mcp/Dockerfile b/dockerfiles/gimp-mcp/Dockerfile new file mode 100644 index 0000000..8ebffdc --- /dev/null +++ b/dockerfiles/gimp-mcp/Dockerfile @@ -0,0 +1,24 @@ +FROM python:3.12-slim + +# Install uv for faster package management +COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ + +WORKDIR /app + +# Copy dependency files +COPY pyproject.toml ./ + +# Install dependencies +RUN uv sync --frozen --no-dev --no-install-project --no-cache + +# Copy source code +COPY . . + +# Install the project +RUN uv sync --frozen --no-dev --no-editable --no-cache + +# Set up environment +ENV PYTHONUNBUFFERED=1 +ENV PATH=/app/.venv/bin:$PATH + +ENTRYPOINT ["uvx", "gimp-mcp"] diff --git a/dockerfiles/kicad-mcp/Dockerfile b/dockerfiles/kicad-mcp/Dockerfile new file mode 100644 index 0000000..9d16772 --- /dev/null +++ b/dockerfiles/kicad-mcp/Dockerfile @@ -0,0 +1,21 @@ +FROM node:22-alpine + +# Install Python 3 and required dependencies +RUN apk add --no-cache python3 py3-pip + +WORKDIR /app + +COPY package.json package-lock.json* ./ + +RUN npm ci --ignore-scripts + +COPY . . + +# Install Python dependencies (use --break-system-packages since this is a container) +RUN pip3 install --no-cache-dir --break-system-packages -r requirements.txt + +RUN npm run build + +EXPOSE 3000 + +CMD ["node", "dist/index.js"] diff --git a/dockerfiles/matomo-mcp/Dockerfile b/dockerfiles/matomo-mcp/Dockerfile new file mode 100644 index 0000000..cdda738 --- /dev/null +++ b/dockerfiles/matomo-mcp/Dockerfile @@ -0,0 +1,13 @@ +FROM node:22-alpine + +WORKDIR /app + +COPY package.json package-lock.json* ./ + +RUN npm ci + +COPY . . + +RUN npm run build + +CMD ["node", "dist/index.js"] diff --git a/dockerfiles/mcp-cloudron/Dockerfile b/dockerfiles/mcp-cloudron/Dockerfile new file mode 100644 index 0000000..34255c0 --- /dev/null +++ b/dockerfiles/mcp-cloudron/Dockerfile @@ -0,0 +1,13 @@ +FROM node:22-alpine + +WORKDIR /app + +COPY package.json package-lock.json* ./ + +RUN npm ci + +COPY . . + +EXPOSE 3000 + +CMD ["node", "dist/index.js"] diff --git a/dockerfiles/proxmox-mcp/Dockerfile b/dockerfiles/proxmox-mcp/Dockerfile new file mode 100644 index 0000000..4278e1b --- /dev/null +++ b/dockerfiles/proxmox-mcp/Dockerfile @@ -0,0 +1,24 @@ +FROM python:3.12-slim + +# Install uv for faster package management +COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ + +WORKDIR /app + +# Copy dependency files +COPY pyproject.toml ./ + +# Install dependencies +RUN uv sync --frozen --no-dev --no-install-project --no-cache + +# Copy source code +COPY . . + +# Install the project +RUN uv sync --frozen --no-dev --no-editable --no-cache + +# Set up environment +ENV PYTHONUNBUFFERED=1 +ENV PATH=/app/.venv/bin:$PATH + +ENTRYPOINT ["uvx", "proxmox-mcp"] diff --git a/dockerfiles/snipeit-mcp/Dockerfile b/dockerfiles/snipeit-mcp/Dockerfile new file mode 100644 index 0000000..417dd60 --- /dev/null +++ b/dockerfiles/snipeit-mcp/Dockerfile @@ -0,0 +1,24 @@ +FROM python:3.12-slim + +# Install uv for faster package management +COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ + +WORKDIR /app + +# Copy dependency files +COPY pyproject.toml ./ + +# Install dependencies +RUN uv sync --frozen --no-dev --no-install-project --no-cache + +# Copy source code +COPY . . + +# Install the project +RUN uv sync --frozen --no-dev --no-editable --no-cache + +# Set up environment +ENV PYTHONUNBUFFERED=1 +ENV PATH=/app/.venv/bin:$PATH + +ENTRYPOINT ["uvx", "snipeit-mcp"] diff --git a/dockerfiles/wordpress-mcp/Dockerfile b/dockerfiles/wordpress-mcp/Dockerfile new file mode 100644 index 0000000..cdda738 --- /dev/null +++ b/dockerfiles/wordpress-mcp/Dockerfile @@ -0,0 +1,13 @@ +FROM node:22-alpine + +WORKDIR /app + +COPY package.json package-lock.json* ./ + +RUN npm ci + +COPY . . + +RUN npm run build + +CMD ["node", "dist/index.js"]