Der Vite-Build (jsdom/Readability + shared-ui@1.4) sprengte Nodes ~2-GB-Default → 'JavaScript heap out of memory'. Heap-Limit auf 4 GB. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
41 lines
1 KiB
Docker
41 lines
1 KiB
Docker
# Pageta-Web: SvelteKit + adapter-node.
|
|
# Build-Context = Repo-Root.
|
|
|
|
FROM oven/bun:1.1-alpine AS builder
|
|
|
|
ARG NPM_AUTH_TOKEN=""
|
|
ENV NPM_AUTH_TOKEN=$NPM_AUTH_TOKEN
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apk add --no-cache nodejs npm bash \
|
|
&& npm install -g pnpm@9.15.9
|
|
|
|
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json tsconfig.base.json .npmrc ./
|
|
COPY apps/web/package.json apps/web/
|
|
COPY packages/pageta-domain/package.json packages/pageta-domain/
|
|
|
|
RUN pnpm install --frozen-lockfile --prod=false
|
|
|
|
COPY packages/pageta-domain packages/pageta-domain
|
|
COPY apps/web apps/web
|
|
|
|
WORKDIR /app/apps/web
|
|
# Heap-Limit hochsetzen: der Vite-Build (jsdom/Readability + shared-ui) sprengt
|
|
# sonst Nodes ~2-GB-Default → "heap out of memory".
|
|
ENV NODE_OPTIONS=--max-old-space-size=4096
|
|
RUN pnpm build
|
|
|
|
FROM oven/bun:1.1-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=builder /app/apps/web/build ./build
|
|
COPY --from=builder /app/apps/web/package.json ./package.json
|
|
COPY --from=builder /app/node_modules ./node_modules
|
|
|
|
ENV PORT=3100
|
|
ENV HOST=0.0.0.0
|
|
EXPOSE 3100
|
|
|
|
CMD ["bun", "run", "build/index.js"]
|