mirror of
https://github.com/makenotion/notion-mcp-server.git
synced 2026-05-24 16:30:58 -04:00
37 lines
957 B
Docker
37 lines
957 B
Docker
# syntax=docker/dockerfile:1
|
|
|
|
# Use Node.js LTS as the base image
|
|
FROM node:20-slim AS builder
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Copy package.json and package-lock.json
|
|
COPY package*.json ./
|
|
|
|
# Install dependencies
|
|
RUN --mount=type=cache,target=/root/.npm npm ci --ignore-scripts --omit-dev
|
|
|
|
# Copy source code
|
|
COPY . .
|
|
|
|
# Build the package
|
|
RUN --mount=type=cache,target=/root/.npm npm run build
|
|
|
|
# Install package globally
|
|
RUN --mount=type=cache,target=/root/.npm npm link
|
|
|
|
# Minimal image for runtime
|
|
FROM node:20-slim
|
|
|
|
# Copy built package from builder stage
|
|
COPY scripts/notion-openapi.json /usr/local/scripts/
|
|
COPY --from=builder /usr/local/lib/node_modules/@notionhq/notion-mcp-server /usr/local/lib/node_modules/@notionhq/notion-mcp-server
|
|
COPY --from=builder /usr/local/bin/notion-mcp-server /usr/local/bin/notion-mcp-server
|
|
|
|
# Set default environment variables
|
|
ENV OPENAPI_MCP_HEADERS="{}"
|
|
|
|
# Set entrypoint
|
|
ENTRYPOINT ["notion-mcp-server"]
|