Files
yuriandClaude Opus 5.5 9749da5ae7 Lead Radar: исходный код
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-25 23:11:04 +04:00

24 lines
863 B
Docker

# Один файл — два образа: api (бэкенд, бот, парсер) и web (кабинет и Mini App за nginx).
FROM node:22-alpine AS base
RUN corepack enable
WORKDIR /app
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml tsconfig.base.json ./
COPY apps/api/package.json apps/api/
COPY apps/web/package.json apps/web/
COPY packages/shared/package.json packages/shared/
RUN pnpm install --frozen-lockfile
COPY . .
FROM base AS webbuild
RUN pnpm --filter @lr/web build
FROM nginx:alpine AS web
COPY deploy/nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=webbuild /app/apps/web/dist /usr/share/nginx/html
FROM base AS api
ENV NODE_ENV=production
WORKDIR /app/apps/api
# Сначала миграции базы, затем сервис.
CMD ["sh", "-c", "node --import tsx src/db/migrate.ts && exec node --import tsx src/main.ts"]