Files
blog/Dockerfile
Gabriel Kaszewski 53ee0ccb06
All checks were successful
Build and Deploy Blog / build-and-deploy-local (push) Successful in 4m56s
perf: standalone output, slim Docker image
2026-08-08 15:32:08 +02:00

29 lines
595 B
Docker

FROM oven/bun:1 AS base
WORKDIR /app
FROM base AS install
RUN mkdir -p /temp/dev
COPY package.json bun.lock /temp/dev/
RUN cd /temp/dev && bun install --frozen-lockfile
FROM base AS prerelease
COPY --from=install /temp/dev/node_modules node_modules
COPY . .
ENV NODE_ENV=production
RUN bun run build
FROM base AS release
COPY --from=prerelease /app/.next/standalone ./
COPY --from=prerelease /app/.next/static ./.next/static
COPY --from=prerelease /app/public ./public
COPY --from=prerelease /app/posts ./posts
RUN chown -R bun:bun /app
USER bun
EXPOSE 3000/tcp
CMD ["bun", "server.js"]