FROM oven/bun:1 AS base WORKDIR /app FROM base AS install COPY package.json bun.lock ./ COPY packages/shared/package.json ./packages/shared/ COPY apps/web/package.json ./apps/web/ RUN bun install --frozen-lockfile FROM base AS build COPY --from=install /app/node_modules ./node_modules COPY --from=install /app/packages/shared/node_modules ./packages/shared/node_modules COPY --from=install /app/apps/web/node_modules ./apps/web/node_modules COPY . . RUN cd apps/web && bun run build FROM base AS production COPY --from=build /app/apps/web/build ./build COPY --from=build /app/apps/web/package.json . COPY --from=build /app/node_modules ./node_modules EXPOSE 3000 ENV NODE_ENV=production ENV PORT=3000 CMD ["bun", "./build/index.js"]