feat: Добавил docker

This commit is contained in:
2025-11-14 02:11:55 +03:00
parent 0e7ee28791
commit 858c383a9b
6 changed files with 81 additions and 0 deletions

8
.env.example Normal file
View File

@@ -0,0 +1,8 @@
# URL сервиса Modeus
MODEUS_URL=
# Имя пользователя для авторизации в Microsoft
MS_USERNAME=
# Пароль для авторизации в Microsoft
MS_PASSWORD=
# (опционально) Ключ API для защиты эндпоинта /auth/ms
API_KEY=

2
.gitignore vendored
View File

@@ -485,3 +485,5 @@ $RECYCLE.BIN/
*.lnk *.lnk
src/appsettings.Development.json

View File

@@ -39,6 +39,12 @@ cd src
dotnet run dotnet run
``` ```
или
```bash
docker compose -f docker-compose-dev.yml up
```
1. Выполните запрос: 1. Выполните запрос:
```bash ```bash

14
docker-compose-dev.yml Normal file
View File

@@ -0,0 +1,14 @@
services:
app:
container_name: ModeusSchedule.MSAuth
build:
context: ./src
dockerfile: Dockerfile
ports:
- '5000:8080'
environment:
- MODEUS_URL=${MODEUS_URL}
- MS_USERNAME=${MS_USERNAME}
- MS_PASSWORD=${MS_PASSWORD}
- API_KEY=${API_KEY}
restart: unless-stopped

27
src/.dockerignore Normal file
View File

@@ -0,0 +1,27 @@
**/.playwright
**/.dockerignore
**/.env
**/.git
**/.gitignore
**/.project
**/.settings
**/.toolstarget
**/.vs
**/.vscode
**/.idea
**/*.*proj.user
**/*.dbmdl
**/*.jfm
**/azds.yaml
**/bin
**/charts
**/docker-compose*
**/Dockerfile*
**/node_modules
**/npm-debug.log
**/obj
**/secrets.dev.yaml
**/values.dev.yaml
LICENSE
README.md
**/appsettings.Development.json

24
src/Dockerfile Normal file
View File

@@ -0,0 +1,24 @@
FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine3.22 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY . .
RUN dotnet restore "ModeusSchedule.MSAuth.csproj"
RUN dotnet publish "ModeusSchedule.MSAuth.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS final
EXPOSE 8080
WORKDIR /app
RUN apt-get update && \
apt-get install -y --no-install-recommends wget && \
wget -q https://github.com/PowerShell/PowerShell/releases/download/v7.5.2/powershell_7.5.2-1.deb_amd64.deb && \
apt-get install -y ./powershell_7.5.2-1.deb_amd64.deb && \
rm -f powershell_7.5.2-1.deb_amd64.deb && \
rm -rf /var/lib/apt/lists/*
ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright
COPY --from=build /app/publish .
RUN pwsh ./playwright.ps1 install --with-deps chromium
ENTRYPOINT ["dotnet", "ModeusSchedule.MSAuth.dll"]