# 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"]