Files
sbbb/base/devtools/penpot-mcp.Dockerfile
Sienna Meridian Satterwhite 048319f70b fix(devtools): stabilize Penpot MCP, fix S3 creds, OIDC registration
MCP server:
- Replace vite build --watch + livePreview with static vite preview
  (watch mode was reloading the plugin iframe, killing WebSocket)
- Bake WS_URI at Docker build time for production WebSocket URL
- Add server-side application-level keepalive messages every 25s
- Add client-side auto-reconnect with exponential backoff
- Set Pingora route timeout to 86400s for WebSocket idle tolerance

Penpot:
- Add AWS_ACCESS_KEY_ID/SECRET env vars for S3 SDK compatibility
- Set S3 region to satisfy AWS SDK credential chain
- Enable OIDC registration (disable-registration blocks OIDC signup)
- Fix frontend port (8080 not 80)
- Add penpot bucket to seaweedfs-buckets init job
2026-04-04 15:37:45 +01:00

13 lines
402 B
Docker

FROM node:22-alpine
ARG WS_URI=wss://mcp-designer.sunbeam.pt/ws
RUN npm install -g pnpm@latest
COPY . /opt/penpot-mcp/
WORKDIR /opt/penpot-mcp
RUN WS_URI=$WS_URI pnpm -r install && WS_URI=$WS_URI pnpm run build
ENV PENPOT_MCP_REMOTE_MODE=true \
PENPOT_MCP_SERVER_HOST=0.0.0.0 \
PENPOT_MCP_SERVER_PORT=4401 \
PENPOT_MCP_WEBSOCKET_PORT=4402
EXPOSE 4400 4401 4402
CMD ["pnpm", "run", "start"]