Files
mcp_web_dev_server/Dockerfile
T
2026-07-31 13:12:54 -04:00

35 lines
872 B
Docker

# syntax=docker/dockerfile:1
FROM node:24-alpine AS builder
WORKDIR /app
COPY package*.json ./
# Optional: provide a custom CA certificate for npm TLS (e.g. behind a corporate proxy).
# Build with: docker build --secret id=ca-cert,src=/path/to/ca-bundle.pem -t web-dev-mcp .
RUN --mount=type=secret,id=ca-cert,dst=/tmp/ca-bundle.pem \
if [ -f /tmp/ca-bundle.pem ]; then export NODE_EXTRA_CA_CERTS=/tmp/ca-bundle.pem; fi && \
npm ci
COPY . .
RUN npm run build
FROM node:24-alpine
WORKDIR /app
COPY package*.json ./
RUN --mount=type=secret,id=ca-cert,dst=/tmp/ca-bundle.pem \
if [ -f /tmp/ca-bundle.pem ]; then export NODE_EXTRA_CA_CERTS=/tmp/ca-bundle.pem; fi && \
npm ci --omit=dev && npm cache clean --force
COPY --from=builder /app/dist ./dist
ENV NODE_ENV=production
ENV WORKSPACE_ROOT=/workspace
EXPOSE 3939
CMD ["node", "dist/transports/http.js"]