Enhance documentation with new features: added dark/light/system theme support, instructions page, and application catalog. Updated API and domain model for app management and automatic migrations on startup. Improved frontend structure with new routes and features for user instructions and app management.
This commit is contained in:
+37
@@ -0,0 +1,37 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
# ── Stage 1: сборка фронтенда (Vite → dist) ───────────────────────────────
|
||||
FROM node:22-alpine AS frontend
|
||||
WORKDIR /app/frontend
|
||||
RUN corepack enable
|
||||
COPY frontend/package.json frontend/pnpm-lock.yaml ./
|
||||
RUN corepack prepare pnpm@11.9.0 --activate && pnpm install --frozen-lockfile
|
||||
COPY frontend/ ./
|
||||
RUN pnpm build
|
||||
|
||||
# ── Stage 2: publish бэкенда, статика фронта в wwwroot ────────────────────
|
||||
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS backend
|
||||
WORKDIR /src
|
||||
# Сначала манифесты для кэша restore
|
||||
COPY backend/PnvPanel.sln backend/Directory.Build.props backend/Directory.Packages.props ./backend/
|
||||
COPY backend/src/PnvPanel.Domain/PnvPanel.Domain.csproj ./backend/src/PnvPanel.Domain/
|
||||
COPY backend/src/PnvPanel.Application/PnvPanel.Application.csproj ./backend/src/PnvPanel.Application/
|
||||
COPY backend/src/PnvPanel.Infrastructure/PnvPanel.Infrastructure.csproj ./backend/src/PnvPanel.Infrastructure/
|
||||
COPY backend/src/PnvPanel.Api/PnvPanel.Api.csproj ./backend/src/PnvPanel.Api/
|
||||
RUN dotnet restore backend/PnvPanel.sln
|
||||
# Исходники бэкенда
|
||||
COPY backend/ ./backend/
|
||||
# Сид каталога приложений (PnvPanel.Api.csproj ссылается на него через ../../../seed/)
|
||||
COPY seed/ ./seed/
|
||||
# Статика собранного фронта → wwwroot (перекрывает заглушку)
|
||||
COPY --from=frontend /app/frontend/dist/ ./backend/src/PnvPanel.Api/wwwroot/
|
||||
RUN dotnet publish backend/src/PnvPanel.Api/PnvPanel.Api.csproj -c Release -o /app/publish --no-restore
|
||||
|
||||
# ── Stage 3: runtime ──────────────────────────────────────────────────────
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime
|
||||
WORKDIR /app
|
||||
ENV ASPNETCORE_ENVIRONMENT=Production \
|
||||
ASPNETCORE_HTTP_PORTS=8080
|
||||
EXPOSE 8080
|
||||
COPY --from=backend /app/publish ./
|
||||
ENTRYPOINT ["dotnet", "PnvPanel.Api.dll"]
|
||||
Reference in New Issue
Block a user