# Build-Kontext ist der Repo-Root (siehe .gitea/workflows/docker-build.yml und docker-compose.yml) - # damit bleibt der Kontext für alle drei Dockerfiles im Monorepo einheitlich, auch wenn dieses # Image allein aus omsorgCore/ besteht. FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build WORKDIR /src COPY omsorgCore/ . RUN dotnet restore OmsorgCore.sln RUN dotnet publish src/OmsorgCore.Api/OmsorgCore.Api.csproj -c Release -o /app/publish --no-restore FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime WORKDIR /app COPY --from=build /app/publish . # Migrationen laufen automatisch bei jedem Start (Program.cs: db.Database.MigrateAsync()) - # kein separater Migrations-Schritt im Image nötig. Konfiguration (ConnectionStrings__OmsorgCore, # Jwt__Secret, Cors__AllowedOrigins__0, ...) kommt ausschließlich über Env-Vars zur Laufzeit, # nie ins Image gebacken (siehe omsorgCore/CLAUDE.md, Abschnitt "Secret-Handling"). ENV ASPNETCORE_URLS=http://+:8080 EXPOSE 8080 ENTRYPOINT ["dotnet", "OmsorgCore.Api.dll"]