mirror of
https://github.com/velocitatem/cvfs.git
synced 2026-05-31 08:43:37 +00:00
NEXT_PUBLIC_* vars are inlined at build time, not runtime. Pass as Docker build arg so Next.js picks it up during bun run build. https://claude.ai/code/session_01Xmxm2QLgFBgRJyYD6VukR6
30 lines
761 B
Docker
30 lines
761 B
Docker
# syntax=docker/dockerfile:1.6
|
|
|
|
FROM oven/bun:1.2 AS base
|
|
WORKDIR /app
|
|
|
|
FROM base AS deps
|
|
COPY apps/webapp/package.json apps/webapp/bun.lock ./
|
|
RUN bun install --frozen-lockfile
|
|
|
|
FROM deps AS builder
|
|
ARG NEXT_PUBLIC_API_BASE_URL=http://localhost:9812
|
|
ENV NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL
|
|
COPY apps/webapp ./
|
|
RUN bun run build
|
|
|
|
FROM oven/bun:1.2-slim AS runner
|
|
WORKDIR /app
|
|
ENV NODE_ENV=production \
|
|
PORT=3000
|
|
|
|
COPY --from=builder /app/package.json ./package.json
|
|
COPY --from=builder /app/bun.lock ./bun.lock
|
|
COPY --from=builder /app/node_modules ./node_modules
|
|
COPY --from=builder /app/.next ./.next
|
|
COPY --from=builder /app/public ./public
|
|
COPY --from=builder /app/next.config.ts ./next.config.ts
|
|
|
|
EXPOSE 3000
|
|
CMD ["bun", "run", "start"]
|