From 02c5bc998ab8f316d993e9d7f75f4e16af426871 Mon Sep 17 00:00:00 2001 From: Ivan Ilves Date: Mon, 15 Sep 2025 10:45:42 +0200 Subject: [PATCH 1/3] feat: add Dockerfile for local-mcp-server --- Dockerfile | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..e028a27b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM node:20-alpine + +ENV NODE_ENV=production + +WORKDIR /app + +COPY . ./ + +RUN addgroup -g 1001 -S nodejs \ + && adduser -S mcpserver -u 1001 \ + && mkdir -p /app/logs \ + && chown -R mcpserver:nodejs /app /usr/local + +USER mcpserver + +RUN npm install -g rimraf pnpm typescript \ + && pnpm -r install + +HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \ + CMD pgrep -f "node.*mcp-server" || exit 1 + +CMD ["npx", "-y", "@gleanwork/local-mcp-server"] From e819bd1475ee0390348eaa5011b739f0109962c2 Mon Sep 17 00:00:00 2001 From: Ivan Ilves Date: Sun, 9 Nov 2025 08:27:23 +0100 Subject: [PATCH 2/3] ci: add Docker build workflow Ensures the Dockerfile continues to work by building and verifying the image on every PR and push to main. --- .github/workflows/docker.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/workflows/docker.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 00000000..613f1d18 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,20 @@ +name: Docker + +on: + push: + branches: [main] + pull_request: + +jobs: + build: + name: Build Docker image + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Build Docker image + run: docker build -t glean-mcp-server:test . + + - name: Verify image + run: docker run --rm glean-mcp-server:test node --version From 1eee67e5e68e9dfdeba8ef2d50d574a2a2f56b9c Mon Sep 17 00:00:00 2001 From: Ivan Ilves Date: Sun, 9 Nov 2025 08:50:16 +0100 Subject: [PATCH 3/3] ci: verify Glean MCP server starts in Docker --- .github/workflows/docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 613f1d18..77e5fbd0 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -16,5 +16,5 @@ jobs: - name: Build Docker image run: docker build -t glean-mcp-server:test . - - name: Verify image - run: docker run --rm glean-mcp-server:test node --version + - name: Verify Glean MCP server starts + run: timeout 3 docker run --rm glean-mcp-server:test || [ $? -eq 124 ]