FROM oven/bun:1-alpine@sha256:629e17411f1f129dbec3af78d5af9c9f2a937435c80349437206c6b0b7422373 AS deps ENV TERM=xterm-256color ENV COLORTERM=truecolor ENV BUN_INSTALL_CACHE_DIR=/bun-cache WORKDIR /app COPY package.json bun.lock* ./ RUN --mount=type=cache,target=/bun-cache bun install --frozen-lockfile FROM deps AS builder COPY . . RUN bun --bun svelte-kit sync RUN bun run build FROM oven/bun:1-alpine@sha256:629e17411f1f129dbec3af78d5af9c9f2a937435c80349437206c6b0b7422373 AS runtime ENV NODE_ENV=production WORKDIR /app COPY --from=builder /app/build ./build COPY --from=builder /app/serve.ts ./serve.ts EXPOSE 3000 ENTRYPOINT ["bun"] CMD ["run", "serve.ts"]