pageta/apps/web/Dockerfile
Till JS 4ae07458f1 fix(web): NODE_OPTIONS max-old-space-size=4096 für den Build
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>
2026-05-31 18:11:11 +02:00

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