📄 .containerfile
FROM mcr.microsoft.com/dotnet/sdk:10.0@sha256:c7445f141c04f1a6b454181bd098dcfa606c61ba0bd213d0a702489e5bd4cd71 AS build

WORKDIR /app

COPY ./GitBrowser.slnx ./global.json ./Directory.Packages.props ./Directory.Build.props ./.gitignore ./.editorconfig ./
COPY ./GitBrowser/GitBrowser.csproj ./GitBrowser/packages.lock.json ./GitBrowser/

RUN dotnet restore --locked-mode

COPY ./GitBrowser/ ./GitBrowser/

RUN dotnet build ./GitBrowser/GitBrowser.csproj --no-restore --configuration Release

RUN dotnet publish ./GitBrowser/GitBrowser.csproj --no-build --configuration Release --output /out

FROM mcr.microsoft.com/dotnet/aspnet:10.0-alpine@sha256:049f2d7d7acfcbf09e1d15eb4faccec6453b0a98f0cb54d53bcbdc3ed91e96c8 AS release

WORKDIR /app

COPY --from=build /out ./

ENTRYPOINT ["dotnet", "./GitBrowser.dll"]