diff --git a/Dockerfile b/Dockerfile index 801d0a42..b134b493 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,24 +1,37 @@ +# ---- Базовый образ с Bun ---- FROM oven/bun:1 AS base WORKDIR /app -# Копируем ВЕСЬ проект (чтобы bun install видел workspace-пакеты) +# ---- Установка зависимостей ---- FROM base AS deps COPY . . RUN bun install -# Сборка через Turbo +# ---- Исправление tsconfig (если нужно) ---- +# Иногда TypeScript не видит локальный пакет @pascal/typescript-config +# Временно заменяем extends на относительный путь +RUN sed -i 's|"extends": "@pascal/typescript-config/react-library.json"|"extends": "../../typescript-config/react-library.json"|g' packages/core/tsconfig.json || true + +# Устанавливаем типы Bun (если их нет в package.json) +RUN bun add -d @types/bun || true + +# ---- Сборка проекта ---- FROM base AS builder WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . + +# Сборка через Turbo RUN bun run build -# Финальный образ -FROM base AS runner +# ---- Продакшен образ ---- +FROM node:20-alpine AS runner WORKDIR /app + ENV NODE_ENV=production ENV PORT=3002 +# Копируем собранное приложение и необходимые файлы COPY --from=builder /app/apps/editor/.next /app/apps/editor/.next COPY --from=builder /app/apps/editor/public /app/apps/editor/public COPY --from=builder /app/apps/editor/package.json /app/apps/editor/package.json @@ -26,5 +39,6 @@ COPY --from=builder /app/node_modules /app/node_modules COPY --from=builder /app/package.json /app/package.json WORKDIR /app/apps/editor + EXPOSE 3002 -CMD ["bun", "run", "start"] \ No newline at end of file +CMD ["npx", "next", "start"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index cef2886c..6c1bc6f1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3.8' - services: editor: build: @@ -11,7 +9,4 @@ services: - "3002:3002" environment: - NODE_ENV=production - - PORT=3002 - # При необходимости можно подключить переменные окружения из файла - # env_file: - # - .env.local \ No newline at end of file + - PORT=3002 \ No newline at end of file