FROM mcr.microsoft.com/dotnet/sdk:10.0-alpine AS build
WORKDIR /src

COPY src/NullDepth/NullDepth.csproj src/NullDepth/
RUN dotnet restore src/NullDepth/NullDepth.csproj \
    --source https://api.nuget.org/v3/index.json

COPY src/NullDepth/ src/NullDepth/
RUN dotnet publish src/NullDepth/NullDepth.csproj \
    --configuration Release \
    --output /app/publish \
    --no-restore

FROM nginx:1.27-alpine AS final

COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=build /app/publish/wwwroot /usr/share/nginx/html

EXPOSE 8080

HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
    CMD wget --quiet --spider http://127.0.0.1:8080/ || exit 1

