- Fixed penpot-mcp Dockerfile for monorepo build (added data/ copy) - Fixed snipeit-mcp Dockerfile COPY path and entrypoint - Completed validation of all pending MCP servers - Updated STATUS.md with comprehensive validation results - Added JOURNAL.md entry documenting session work Validation summary: - terraform-mcp: Working (MCP handshake validates) - 6 servers require config/env vars (matomo, nextcloud, paperless, postizz, redmine) - 6 servers have build/runtime issues (discourse, revas, snipeit, proxmox, penpot, mcp-ansible)
40 lines
996 B
Docker
40 lines
996 B
Docker
# Penpot MCP Server - Multi-stage build for monorepo
|
|
FROM node:20-slim AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy the entire monorepo
|
|
COPY package*.json ./
|
|
COPY common ./common
|
|
COPY mcp-server ./mcp-server
|
|
COPY penpot-plugin ./penpot-plugin
|
|
|
|
# Install dependencies for the monorepo
|
|
RUN npm ci
|
|
|
|
# Build common package first (dependency)
|
|
WORKDIR /app/common
|
|
RUN npm ci && npm run build
|
|
|
|
# Build mcp-server
|
|
WORKDIR /app/mcp-server
|
|
RUN npm ci && npm run build
|
|
|
|
# Production image
|
|
FROM node:20-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy built mcp-server and its dependencies
|
|
COPY --from=builder /app/mcp-server/dist ./dist
|
|
COPY --from=builder /app/mcp-server/data ./data
|
|
COPY --from=builder /app/mcp-server/node_modules ./node_modules
|
|
COPY --from=builder /app/common/dist ./node_modules/@penpot-mcp/common/dist
|
|
COPY --from=builder /app/common/package.json ./node_modules/@penpot-mcp/common/
|
|
|
|
# Set environment defaults
|
|
ENV PENPOT_URL=${PENPOT_URL:-https://design.penpot.app}
|
|
|
|
# Run the MCP server
|
|
CMD ["node", "dist/index.js"]
|