| 123456789101112131415161718192021 |
- FROM node:24-alpine
- WORKDIR /app
- # pnpm is pre-installed in node:24-alpine; build + run stay static (no postinstall
- # scripts are needed — see allowBuilds in pnpm-workspace.yaml).
- COPY package.json package-lock.json pnpm-workspace.yaml ./
- RUN pnpm install --frozen-lockfile
- COPY tsconfig.json codegen.yml eslint.config.js ./
- COPY src ./src
- RUN pnpm run build && pnpm prune --prod
- ENV WIKIJS_MCP_TRANSPORT=http
- EXPOSE 3001
- # Liveness probe, no auth required:
- # docker inspect --format='{{json .State.Health.Status}}' wikijs-mcp
- HEALTHCHECK CMD node -e "fetch('http://127.0.0.1:3001/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
- CMD ["node", "build/index.js"]
|