- Nginx: проксирование /api на backend (единая точка входа) - История: стрелки ← → для переключения недель/месяцев/годов - История: сохранение фильтров и пагинации в URL при F5 - Импорт: миграция 003 — дефолтные правила категорий (PYATEROCHK, AUCHAN и др.) - Настройки: вкладка «Данные» с кнопкой «Очистить историю» - Backend: DELETE /api/transactions для удаления всех транзакций - ClearHistoryModal: подтверждение чекбоксами и вводом «УДАЛИТЬ»
26 lines
846 B
Docker
26 lines
846 B
Docker
FROM node:20-alpine AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
# Копируем корень и конфигурации
|
|
COPY package.json package-lock.json* tsconfig.json* ./
|
|
|
|
# Копируем исходники воркспэйсов
|
|
COPY shared ./shared
|
|
COPY frontend ./frontend
|
|
|
|
# Устанавливаем зависимости из корня
|
|
RUN npm install
|
|
|
|
# Сначала собираем shared (если там есть скрипт build)
|
|
RUN npm run build -w @family-budget/shared || echo "No build script in shared, skipping..."
|
|
|
|
# Теперь собираем frontend
|
|
RUN npm run build -w @family-budget/frontend
|
|
|
|
# Финальный образ — nginx для раздачи статики
|
|
FROM nginx:alpine
|
|
COPY --from=builder /app/frontend/dist /usr/share/nginx/html
|
|
COPY frontend/nginx.conf /etc/nginx/conf.d/default.conf
|
|
EXPOSE 80
|