Files
hamkadr/Dockerfile
T
soroush.asadi 943c3b7b3c
CI/CD / CI · dotnet build (push) Successful in 51s
CI/CD / Deploy · hamkadr (push) Successful in 57s
[CI] Fix NuGet restore: use Liara mirror (Nexus TLS chain incomplete)
mirror.soroushasadi.com serves a leaf-only TLS chain (no intermediate).
.NET on Linux does not auto-fetch the intermediate via AIA like Windows
does, so CI/Docker restores fail with NU1301 PartialChain. Switch the
Linux build configs (CI inline config + nuget.docker.config) to the
Liara mirror, which serves a complete chain. Also disable NuGetAudit to
avoid the api.nuget.org (filtered) 100s timeout + NU1900 noise.

Local dev nuget.config keeps Nexus primary (Windows resolves the chain).
Re-add Nexus to the Linux configs once nginx serves fullchain.pem.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 14:36:00 +03:30

24 lines
1.0 KiB
Docker

# 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"]