Добавьте файлы проекта.

This commit is contained in:
FrigaT
2026-04-13 14:16:44 +03:00
parent b2b5a3945a
commit 37c997dbe0
120 changed files with 5364 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
# ---- Stage 1: Build ----
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
# Устанавливаем Python (необходим для WebAssembly компиляции)
RUN apt-get update && apt-get install -y python3 && ln -s /usr/bin/python3 /usr/bin/python
# Устанавливаем workload для WebAssembly
RUN dotnet workload install wasm-tools
# Копируем csproj всех проектов для восстановления зависимостей
COPY ["PlaylistShared.Pwa/PlaylistShared.Pwa.csproj", "PlaylistShared.Pwa/"]
COPY ["PlaylistShared.Shared/PlaylistShared.Shared.csproj", "PlaylistShared.Shared/"]
# Восстанавливаем зависимости
RUN dotnet restore "PlaylistShared.Pwa/PlaylistShared.Pwa.csproj"
# Копируем весь исходный код
COPY . .
# Переходим в папку проекта и публикуем
WORKDIR "/src/PlaylistShared.Pwa"
RUN dotnet publish "./PlaylistShared.Pwa.csproj" -c $BUILD_CONFIGURATION -o /app/publish
RUN ls -la /app/publish/wwwroot
# ---- Stage 2: Nginx ----
FROM nginx:alpine AS final
# Копируем кастомную конфигурацию Nginx
COPY PlaylistShared.Pwa/nginx.conf /etc/nginx/nginx.conf
# Удаляем дефолтную статику Nginx
RUN rm -rf /usr/share/nginx/html/*
# Копируем собранные файлы Blazor (wwwroot) в папку Nginx
COPY --from=build /app/publish/wwwroot /usr/share/nginx/html
# Открываем порт 80
EXPOSE 80