# Image runtime pour Yavsc.Blogs (backend API headless des blogs, # destiné à être déployé sur un sous-domaine dédié en production — # cf. doc/architecture/decoupage-organisation.md). # # Cf. Dockerfile.runtime pour le pattern appsettings-org.json via # BuildKit secret mount, et le montage optionnel /etc/letsencrypt # pour HTTPS en production. # # docker build \ # --secret id=yavsc_appsettings,src=./appsettings-org.json \ # -f Dockerfile.runtime.blogs \ # -t yavsc-blogs:dev . # syntax=docker/dockerfile:1.7 FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime WORKDIR /app ARG BUILD_ENV_IMAGE=pazof/yavsc-build-env:debian12-dotnet10-android36-v1 COPY --from=${BUILD_ENV_IMAGE} /app/publish/Yavsc.Blogs/ ./ RUN --mount=type=secret,id=yavsc_appsettings,dst=/run/secrets/yavsc_appsettings \ cp /run/secrets/yavsc_appsettings /app/appsettings-org.json \ && chmod 0644 /app/appsettings-org.json ENV ASPNETCORE_ENVIRONMENT=Production ENV ASPNETCORE_URLS=http://+:5004 EXPOSE 5004 HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \ CMD wget --quiet --spider http://localhost:5004/ || exit 1 ENTRYPOINT ["dotnet", "Yavsc.Blogs.dll"]