context7 Docker & Self-Hosted Deployment

GitHub

Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

60,663 stars TypeScript TypeScript 1 file ยท ~52,032 tokens #llm#mcp#mcp-server#vibe-coding
1. Pull Image (DOCKERHUB) docker pull upstash/context7:latest
2. Docker Run (1-Click Launch) docker run -d --name context7 -p 8080:8080 --restart always upstash/context7:latest
3. Podman Run podman run -d --name context7 -p 8080:8080 --restart always upstash/context7:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/upstash/context7:latest
5. ORAS Pull (OCI Artifact) oras pull upstash/context7:latest
packages/mcp/Dockerfile
# ----- Build Stage -----
FROM node:lts-alpine AS builder
RUN corepack enable pnpm
WORKDIR /app

# Copy monorepo config and install dependencies
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml tsconfig.json ./
COPY packages/mcp ./packages/mcp
RUN pnpm install --frozen-lockfile

# Build the mcp package
RUN pnpm --filter @upstash/context7-mcp build

# ----- Production Stage -----
FROM node:lts-alpine
RUN corepack enable pnpm
WORKDIR /app

# Install production dependencies only
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
COPY packages/mcp/package.json ./packages/mcp/
RUN pnpm install --frozen-lockfile --prod --filter @upstash/context7-mcp

# Copy built files from builder
COPY --from=builder /app/packages/mcp/dist ./packages/mcp/dist

WORKDIR /app/packages/mcp
ENV OTEL_EXPORTER_PROMETHEUS_HOST=0.0.0.0
EXPOSE 8080 9464
CMD ["node", "dist/index.js", "--transport", "http", "--port", "8080"]