29 lines
No EOL
987 B
Docker
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"] |