stalwart-simplelogin-middle.../StalwartSimpleLoginMiddleware/Dockerfile
2025-05-10 05:25:22 -04:00

29 lines
No EOL
987 B
Docker

FROM mcr.microsoft.com/dotnet/aspnet:8.0-jammy-chiseled-extra AS base
USER $APP_UID
WORKDIR /app
EXPOSE 8080
FROM mcr.microsoft.com/dotnet/sdk:8.0-jammy AS build
ARG BUILD_CONFIGURATION=Release
ENV DOTNET_TOOLS_PATH=/build/.dotnet-tools
ENV PATH="$DOTNET_TOOLS_PATH:$PATH"
RUN dotnet tool install NSwag.ConsoleCore --tool-path $DOTNET_TOOLS_PATH --version 14.2.0.0
WORKDIR /src
COPY StalwartSimpleLoginMiddleware/StalwartSimpleLoginMiddleware.csproj StalwartSimpleLoginMiddleware/
COPY StalwartSDK/StalwartSDK.csproj StalwartSDK/
RUN dotnet restore "StalwartSimpleLoginMiddleware/StalwartSimpleLoginMiddleware.csproj"
COPY . .
# Run NSwag for StalwartSDK
RUN cd /src/StalwartSDK && \
nswag run nswag.json
RUN dotnet publish StalwartSimpleLoginMiddleware/StalwartSimpleLoginMiddleware.csproj -c $BUILD_CONFIGURATION --no-restore -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "StalwartSimpleLoginMiddleware.dll"]