36 lines
567 B
Docker
36 lines
567 B
Docker
# ================================================
|
|
FROM oven/bun AS build
|
|
|
|
WORKDIR /app
|
|
|
|
# Cache packages installation
|
|
COPY package.json package.json
|
|
COPY bun.lock bun.lock
|
|
|
|
RUN bun install
|
|
|
|
COPY ./src ./src
|
|
|
|
ENV NODE_ENV=production
|
|
|
|
RUN bun build \
|
|
--compile \
|
|
--minify-whitespace \
|
|
--minify-syntax \
|
|
--outfile server \
|
|
src/index.ts
|
|
|
|
# ================================================
|
|
FROM alpine:latest
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=build /app/server server
|
|
COPY --from=build /app/node_modules node_modules
|
|
|
|
ENV NODE_ENV=production
|
|
|
|
CMD ["./server"]
|
|
|
|
EXPOSE 3000
|