Snapshot of uncommitted work: landing, bots, prod infra, partner cabinet, backoffice stage 1

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
zabudko-ruandClaude Opus 5.5 committed 2026-10-21 01:23:32 +04:00
1 parent 45d7512d2b
commit d452824c62
314 files changed
+44394 -121

No files matched your search

+37
View File
@@ -0,0 +1,37 @@
# Barev Club — образы для продакшена.
# app — Node: API + воркер + боты (один процесс) и лендинг Next.js (тот же образ)
# web — nginx: статика Mini App и админки + прокси /trpc и /files на API
FROM node:22-alpine AS deps
RUN corepack enable
WORKDIR /repo
COPY . .
RUN pnpm install --frozen-lockfile
FROM deps AS build
# адреса, которые зашиваются в клиентский код при сборке
ARG LANDING_URL
ARG API_PUBLIC_URL
ARG CLIENT_BOT_USERNAME=barevclub_bot
ENV VITE_LANDING_URL=$LANDING_URL NEXT_PUBLIC_API_URL=$API_PUBLIC_URL CLIENT_BOT_USERNAME=$CLIENT_BOT_USERNAME NEXT_TELEMETRY_DISABLED=1
RUN pnpm --filter @barev/miniapp-client build \
&& pnpm --filter @barev/miniapp-pro build \
&& pnpm --filter @barev/admin build \
&& pnpm --filter @barev/landing build
FROM nginx:alpine AS web
COPY --from=build /repo/apps/miniapp-client/dist /srv/client
COPY --from=build /repo/apps/miniapp-pro/dist /srv/pro
COPY --from=build /repo/apps/admin/dist /srv/admin
COPY infra/prod/nginx.conf /etc/nginx/conf.d/default.conf
FROM node:22-alpine AS app
RUN corepack enable
WORKDIR /repo
ENV NODE_ENV=production TZ=Asia/Yerevan
COPY --from=deps /repo /repo
# лендинг: standalone-сборка со своими node_modules
COPY --from=build /repo/apps/landing/.next/standalone /landing
COPY --from=build /repo/apps/landing/.next/static /landing/apps/landing/.next/static
EXPOSE 4000 3000
# при старте: миграции и синхронизация каталога, затем API + воркер + боты
CMD ["sh", "-c", "cd packages/db && ./node_modules/.bin/prisma migrate deploy && ./node_modules/.bin/tsx src/scripts/sync-catalog.ts && cd /repo && exec apps/runtime/node_modules/.bin/tsx apps/runtime/index.ts"]