FROM oven/bun:1.2.18 AS website-builder WORKDIR /website COPY website/package.json ./ RUN bun install COPY website/ . RUN bun run build FROM oven/bun:1.2.18 AS mobile-builder WORKDIR /mobile COPY mobile/package.json ./ RUN bun install COPY mobile/ . RUN bun run build:web FROM oven/bun:1.2.18 WORKDIR /app COPY backend/package.json backend/bun.lock backend/tsconfig.json ./ RUN bun install --frozen-lockfile --production COPY backend/src ./src COPY --from=website-builder /website/dist ./public COPY --from=mobile-builder /mobile/dist ./public/mobile ENV NODE_ENV=production ENV PORT=8080 ENV API_PREFIX=/api EXPOSE 8080 CMD ["bun", "src/index.ts"]