The backend half of the sweep RD-18 did for the front end. git blame holds the provenance and stays correct when the code moves; the comment names a closed ticket and tells the reader nothing the sentence around it does not. public/letter.css and LetterHtml.golden.html change together, because the renderer inlines the CSS and the golden file snapshots the result. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
19 lines
920 B
Docker
19 lines
920 B
Docker
# 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"]
|