-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathDockerfile
More file actions
56 lines (36 loc) · 1.85 KB
/
Dockerfile
File metadata and controls
56 lines (36 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
FROM oven/bun:1.3.10@sha256:b86c67b531d87b4db11470d9b2bd0c519b1976eee6fcd71634e73abfa6230d2e AS bun
FROM node:24-bookworm-slim@sha256:24dc26ef1e3c3690f27ebc4136c9c186c3133b25563ae4d7f0692e4d1fe5db0e AS build-base
ENV PNPM_HOME="/pnpm"
ENV PATH="/usr/local/bin:$PNPM_HOME:$PATH"
RUN apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates \
&& rm -rf /var/lib/apt/lists/*
COPY --from=bun /usr/local/bin/bun /usr/local/bin/bun
RUN corepack enable
FROM node:24-bookworm-slim@sha256:24dc26ef1e3c3690f27ebc4136c9c186c3133b25563ae4d7f0692e4d1fe5db0e AS bilig-workpaper-mcp
ARG BILIG_WORKPAPER_VERSION=0.131.1
ENV NODE_ENV="production"
WORKDIR /workpaper
LABEL io.modelcontextprotocol.server.name="io.github.proompteng/bilig-workpaper"
LABEL org.opencontainers.image.source="https://github.com/proompteng/bilig"
LABEL org.opencontainers.image.description="Bilig WorkPaper stdio MCP server for formula-backed workbook readback and verified edits."
RUN npm init -y >/dev/null \
&& npm install --omit=dev "@bilig/workpaper@${BILIG_WORKPAPER_VERSION}" \
&& npm cache clean --force
ENTRYPOINT ["./node_modules/.bin/bilig-workpaper-mcp", "--workpaper", "/workpaper/pricing.workpaper.json", "--init-demo-workpaper", "--writable"]
FROM build-base AS app-build
WORKDIR /app
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml tsconfig.base.json tsconfig.json tsconfig.workspace-paths.json ./
COPY scripts ./scripts
COPY packages ./packages
COPY apps ./apps
RUN pnpm install --frozen-lockfile
RUN pnpm build
RUN pnpm --filter @bilig/app deploy --prod --legacy /out/bilig
FROM node:24-bookworm-slim@sha256:24dc26ef1e3c3690f27ebc4136c9c186c3133b25563ae4d7f0692e4d1fe5db0e AS bilig-runtime
ENV NODE_ENV="production"
WORKDIR /app
COPY --from=app-build /out/bilig /app
COPY --from=app-build /app/apps/web/dist /app/public
EXPOSE 4321
CMD ["node", "dist/index.js"]