Skip to main content
Glama
Dockerfile.devβ€’3.22 kB
# Development Dockerfile for MCP Server with hot reload FROM node:20.11.0-alpine AS base # Install system dependencies RUN apk update && apk upgrade RUN apk add --no-cache \ libc6-compat \ openssl \ ca-certificates \ git # Enable corepack for pnpm RUN corepack enable && corepack prepare pnpm@10.14.0 --activate # Set work directory WORKDIR /app # Create non-root user RUN addgroup --system --gid 1001 nodejs RUN adduser --system --uid 1001 mcpuser --ingroup nodejs # ===== PHASE 1: Dependency Resolution ===== # Copy workspace config COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ COPY turbo.json ./ # Copy ALL package.json files individually for proper workspace resolution COPY apps/mcp-server/package.json ./apps/mcp-server/ COPY apps/api/package.json ./apps/api/ COPY apps/web/package.json ./apps/web/ COPY apps/docs/package.json ./apps/docs/ # ALL workspace packages (packages/) COPY packages/analytics/package.json ./packages/analytics/ COPY packages/analytics-infra/package.json ./packages/analytics-infra/ COPY packages/auth/package.json ./packages/auth/ COPY packages/auth-mock/package.json ./packages/auth-mock/ COPY packages/config/package.json ./packages/config/ COPY packages/contracts/package.json ./packages/contracts/ COPY packages/core/package.json ./packages/core/ COPY packages/events/package.json ./packages/events/ COPY packages/github-action/package.json ./packages/github-action/ COPY packages/guardian-lite/package.json ./packages/guardian-lite/ COPY packages/health/package.json ./packages/health/ COPY packages/infrastructure/package.json ./packages/infrastructure/ COPY packages/integrations/package.json ./packages/integrations/ COPY packages/motion/package.json ./packages/motion/ COPY packages/perf/package.json ./packages/perf/ COPY packages/platform/package.json ./packages/platform/ COPY packages/policy-engine/package.json ./packages/policy-engine/ COPY packages/scripts/package.json ./packages/scripts/ COPY packages/sdk/package.json ./packages/sdk/ # ALL OSS packages (packages-oss/) COPY packages-oss/config/package.json ./packages-oss/config/ COPY packages-oss/contracts/package.json ./packages-oss/contracts/ COPY packages-oss/events/package.json ./packages-oss/events/ COPY packages-oss/infrastructure/package.json ./packages-oss/infrastructure/ COPY packages-oss/sdk/package.json ./packages-oss/sdk/ # Tooling COPY tooling/*/package.json ./tooling/*/ COPY config/package.json ./config/ # Install all dependencies with cache mounting RUN --mount=type=cache,id=pnpm-dev,target=/pnpm/store \ pnpm install --no-frozen-lockfile --ignore-scripts # ===== PHASE 2: Source Code ===== # Copy source code (node_modules excluded by .dockerignore) COPY . . # Change ownership to non-root user RUN chown -R mcpuser:nodejs /app # Switch to non-root user USER mcpuser # Set development environment ENV NODE_ENV=development ENV PORT=8081 # Expose MCP port and debugger port EXPOSE 8081 9231 # Health check HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:8081/health || exit 1 # Start development server CMD ["pnpm", "--filter", "@snapback/mcp-server", "run", "dev"]

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/snapback-dev/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server