56 lines
851 B
Django/Jinja
56 lines
851 B
Django/Jinja
{% if frontend_adapter == 'bun' -%}
|
|
FROM oven/bun:alpine
|
|
|
|
ENV TERM=xterm-256color
|
|
ENV COLORTERM=truecolor
|
|
|
|
WORKDIR /app
|
|
|
|
COPY package.json bun.lock* ./
|
|
|
|
RUN bun install --frozen-lockfile
|
|
|
|
COPY . .
|
|
|
|
RUN bun --bun svelte-kit sync
|
|
RUN bun --bun run build
|
|
|
|
ENTRYPOINT ["bun"]
|
|
CMD ["build/index.js"]
|
|
{%- else -%}
|
|
FROM oven/bun:alpine 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:alpine 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"]
|
|
{%- endif %}
|