# syntax=docker/dockerfile:1 ARG BUN_VERSION=1.2.20 FROM oven/bun:${BUN_VERSION} AS base WORKDIR /app FROM base AS deps COPY package.json bun.lock ./ RUN bun install --production --no-cache FROM base AS build COPY package.json bun.lock ./ RUN bun install --no-cache COPY tsconfig.json ./ COPY src ./src RUN bun run build FROM base AS runner ENV NODE_ENV=production USER bun WORKDIR /app COPY --link --from=deps /app/node_modules ./node_modules COPY --link --from=build /app/dist ./dist COPY package.json ./ EXPOSE 3000 CMD ["bun", "run", "dist/app.js"]