FROM cgr.dev/chainguard/node:latest-dev AS builder WORKDIR /app USER root RUN corepack enable && corepack prepare pnpm@10.25.0 --activate USER node COPY --chown=node:node package.json pnpm-lock.yaml ./ RUN pnpm install --frozen-lockfile RUN pnpm add -D @sveltejs/adapter-node@latest COPY --chown=node:node . . COPY --chown=node:node svelte.config.docker.js svelte.config.js RUN pnpm run build RUN rm -rf node_modules && \ pnpm install --prod --frozen-lockfile && \ pnpm store prune FROM cgr.dev/chainguard/node:latest AS runtime WORKDIR /app COPY --from=builder --chown=node:node /app/node_modules ./node_modules COPY --from=builder --chown=node:node /app/build ./build COPY --from=builder --chown=node:node /app/package.json ./ EXPOSE 3000 ENV NODE_ENV=production ENV PORT=3000 ENV HOST=0.0.0.0 CMD ["build/index.js"]