Skip to content

Update Docker support for Bun-based build #4

@ichoosetoaccept

Description

@ichoosetoaccept

Summary

The current Docker setup is inherited from the upstream fork and needs updating to work with our Bun-based build.

Current Issues

  1. Dockerfile uses Node.js + npm instead of Bun

    • References build/ directory (we use dist/)
    • References package-lock.json (we use bun.lock)
  2. docker-publish.yml pushes to upstream's Docker Hub (zereight050/gitlab-mcp)

    • Should push to our own registry (GitHub Container Registry recommended)

Proposed Changes

Dockerfile

FROM oven/bun:1 AS builder
WORKDIR /app
COPY package.json bun.lock ./
RUN bun install --frozen-lockfile
COPY . .
RUN bun run build

FROM oven/bun:1-slim AS release
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/package.json ./
ENV NODE_ENV=production
EXPOSE 3002
ENTRYPOINT ["bun", "run", "dist/index.js"]

Workflow

  • Push to ghcr.io/detailobsessed/efficient-gitlab-mcp
  • Trigger on releases and manual dispatch
  • Multi-arch support (amd64, arm64)

Use Cases

  • Run MCP server in containerized CI/CD environments
  • Users who prefer Docker over installing Bun
  • Production HTTP transport deployments

Priority

Low - most MCP users run directly with Bun via stdio transport

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions