# Hamkadr (همکادر) — .NET 10 Razor Pages. Images + NuGet pulled through Nexus (mirror.soroushasadi.com). FROM mirror.soroushasadi.com/dotnet/sdk:10.0 AS build WORKDIR /src COPY nuget.docker.config /tmp/nuget.config COPY src/ ./src/ RUN dotnet restore src/JobsMedical.Web/JobsMedical.Web.csproj --configfile /tmp/nuget.config -p:NuGetAudit=false RUN dotnet publish src/JobsMedical.Web/JobsMedical.Web.csproj -c Release -o /out --no-restore \ /p:UseAppHost=false /p:NuGetAudit=false FROM mirror.soroushasadi.com/dotnet/aspnet:10.0 WORKDIR /app COPY --from=build /out ./ EXPOSE 8080 ENV ASPNETCORE_URLS=http://+:8080 \ ASPNETCORE_ENVIRONMENT=Production \ DOTNET_CLI_TELEMETRY_OPTOUT=1 # Liveness probe (TCP connect to Kestrel) — lets the deploy job wait on # `docker inspect Health.Status`. bash ships in the Debian-based aspnet image. HEALTHCHECK --interval=15s --timeout=10s --start-period=30s --retries=3 \ CMD bash -c 'echo > /dev/tcp/localhost/8080' || exit 1 ENTRYPOINT ["dotnet", "JobsMedical.Web.dll"]