69fa921fbd
- .gitea/workflows/ci-cd.yml: dotnet build via mirror.soroushasadi.com; self-hosted deploy with pg_dump backup, rollback tag, scoped recreate, /healthz wait, prune - Dockerfile (sdk/aspnet 10 via Nexus) + nuget.docker.config + .dockerignore - docker-compose.prod.yml: app on 127.0.0.1:APP_PORT, Postgres internal-only + named volume - deploy/nginx-hamkadr.ir.conf + DEPLOY.md (ports: 22/80/443 only; DB never exposed) - Prod seeds reference data only (no demo listings); ForwardedHeaders for nginx TLS; /healthz endpoint Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
17 lines
668 B
Docker
17 lines
668 B
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
|
|
RUN dotnet publish src/JobsMedical.Web/JobsMedical.Web.csproj -c Release -o /out --no-restore \
|
|
/p:UseAppHost=false
|
|
|
|
FROM mirror.soroushasadi.com/dotnet/aspnet:10.0
|
|
WORKDIR /app
|
|
COPY --from=build /out ./
|
|
EXPOSE 8080
|
|
ENV ASPNETCORE_URLS=http://+:8080 \
|
|
DOTNET_CLI_TELEMETRY_OPTOUT=1
|
|
ENTRYPOINT ["dotnet", "JobsMedical.Web.dll"]
|