23 lines
1.0 KiB
Docker
23 lines
1.0 KiB
Docker
# ── Шаг 1: сборка основного React-приложения ──────────────────────────────────
|
||
FROM node:20-alpine AS app-build
|
||
WORKDIR /build
|
||
COPY web-react/package*.json ./
|
||
RUN npm ci --prefer-offline
|
||
COPY web-react/ ./
|
||
RUN npm run build
|
||
|
||
# ── Шаг 2: сборка редактора статей (TipTap) ───────────────────────────────────
|
||
FROM node:20-alpine AS editor-build
|
||
WORKDIR /build
|
||
COPY web/editor-ui/package*.json ./
|
||
RUN npm ci --prefer-offline
|
||
COPY web/editor-ui/ ./
|
||
RUN npm run build
|
||
|
||
# ── Шаг 3: nginx раздаёт оба приложения ───────────────────────────────────────
|
||
FROM nginx:alpine
|
||
COPY --from=app-build /build/dist /usr/share/nginx/html/app
|
||
COPY --from=editor-build /build/dist /usr/share/nginx/html/editor
|
||
COPY web-react/nginx.conf /etc/nginx/conf.d/default.conf
|
||
EXPOSE 80
|