# ---- Сборка ---- FROM oven/bun:1 AS builder WORKDIR /app # Копируем только файлы, необходимые для установки зависимостей COPY package.json bun.lock ./ COPY turbo.json ./ COPY biome.jsonc ./ # Копируем исходники COPY packages ./packages COPY tooling ./tooling COPY apps ./apps # Устанавливаем зависимости и собираем RUN bun install --frozen-lockfile RUN bun run build # ---- Продакшен ---- FROM oven/bun:1 WORKDIR /app # Копируем собранные артефакты COPY --from=builder /app/packages ./packages COPY --from=builder /app/tooling ./tooling COPY --from=builder /app/apps ./apps COPY --from=builder /app/node_modules ./node_modules COPY --from=builder /app/package.json ./ COPY --from=builder /app/bun.lock ./ WORKDIR /app/apps/editor EXPOSE 3002 # Опционально: добавить healthcheck (если нужен) # RUN apk add --no-cache curl # HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \ # CMD curl -f http://localhost:3002 || exit 1 CMD ["bun", "run", "start"]