# Lean deployable image (optional — not used by the dev demo, which keeps the SDK # image in the root docker-compose.yml for `dotnet run` hot-reload). Build from the repo # root: `docker build -f backend/Dockerfile .` FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build WORKDIR /src COPY . . RUN dotnet publish backend/src/BigRegister.Api -c Release -o /app FROM mcr.microsoft.com/dotnet/aspnet:10.0 WORKDIR /app COPY --chown=$APP_UID:$APP_UID --from=build /app . # LetterHtml.Render walks up from AppContext.BaseDirectory looking for a sibling # public/letter.css (the FE⇄BE letter contract) — this keeps that lookup working here too. COPY --chown=$APP_UID:$APP_UID public ./public # $APP_UID (uid/gid 1654, "app") is baked into this base image for exactly this purpose — # non-root, and chown'd above so it can still create/write bigregister.db at /app. USER $APP_UID ENTRYPOINT ["dotnet", "BigRegister.Api.dll"]