Files
pvemanager/frontend/Dockerfile
Dilshod Rasulov 8fa1208cde
Some checks failed
Deploy to Production / Trigger production update (push) Failing after 10s
feat(frontend): switch to Inter Variable, bump type scale, fix TS errors
- Replace DM Sans with Inter Variable (better screen rendering at small sizes)
- Bump text-xs 12→13px, text-sm 14→15px globally via theme tokens
- Fix hardcoded text-[13px] → text-sm in AppLayout, CommandPalette, DashboardPage
- Fix button sm variant text-[0.8rem] → text-xs for consistency
- Fix TS: ScriptExecuteDialog unused isRunning, setResult → setExecutionId(r.id)
- Fix TS: InstanceActionDialogs onValueChange null guards (string | null → string)
- Dockerfile: npm ci → npm install (cross-platform lockfile, Linux optional deps)
2026-08-17 00:14:06 +05:00

27 lines
1.1 KiB
Docker

# syntax=docker/dockerfile:1.7
FROM node:22-alpine AS deps
WORKDIR /app
COPY package.json package-lock.json ./
# BuildKit-кеш npm — повторные сборки переиспользуют скачанные пакеты.
# npm install вместо npm ci: кросс-платформенный lockfile (Windows-host)
# не резолвит Linux-optional deps (@emnapi/core и др.), npm ci падает.
RUN --mount=type=cache,target=/root/.npm \
npm install --prefer-offline --no-audit --no-fund
# ── Dev stage: Vite HMR (используется compose.dev.yml) ───────────────────────
FROM deps AS dev
COPY . .
EXPOSE 80
CMD ["npm", "run", "dev", "--", "--host", "0.0.0.0", "--port", "80"]
# ── Production build ──────────────────────────────────────────────────────────
FROM deps AS build
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=build /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]