# Diese Stufe wird zum Erstellen des Dienstprojekts verwendet.
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["backend/backend.csproj", "."]
RUN dotnet restore "./backend.csproj"
COPY . .
RUN dotnet publish "./backend/backend.csproj" -c $BUILD_CONFIGURATION -o /app/build/
 
# Diese Stufe wird in der Produktion oder bei Ausführung von VS im regulären Modus verwendet (Standard, wenn die Debugkonfiguration nicht verwendet wird).
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS final
USER app
WORKDIR /app
EXPOSE 8081
WORKDIR /app
COPY --from=build /src/ ./src/
COPY --from=build /app/build .
 
USER root
COPY ./backend/start/start.sh /app/
RUN chmod +x start.sh
RUN chown -R app:app /app
USER app
RUN dotnet tool install --global dotnet-ef
ENTRYPOINT ["./start.sh"]