32 lines
641 B
Docker
32 lines
641 B
Docker
FROM oven/bun:canary-alpine AS build
|
|
|
|
RUN adduser -Du 1001 app
|
|
USER app
|
|
WORKDIR /app
|
|
|
|
COPY package.json bun.lock ./
|
|
RUN --mount=type=cache,target=/home/app/.bun,uid=1001,gid=1001 \
|
|
bun install --frozen-lockfile
|
|
|
|
# build
|
|
COPY --chown=1001 . .
|
|
RUN mkdir -p .next
|
|
|
|
RUN --mount=type=cache,target=/app/.next/cache,uid=1001,gid=1001 \
|
|
bun run build
|
|
|
|
RUN mkdir -p .next/cache
|
|
|
|
FROM oven/bun:canary-alpine AS runner
|
|
|
|
RUN adduser -Du 1001 app
|
|
USER app
|
|
WORKDIR /app
|
|
|
|
COPY --from=build /app/.next/standalone ./
|
|
COPY --from=build /app/public ./public
|
|
COPY --from=build /app/.next/static ./.next/static
|
|
|
|
ENV HOSTNAME=0.0.0.0
|
|
CMD ["bun", "server.js"]
|