Make explicit what was implicit: 'docker compose up' is not expected to start everything on a bare host. Yavsc.Org (web) requires an HTTPS signing certificate for IdentityServer8 in Production mode, and the volume mount /etc/letsencrypt:/etc/letsencrypt:ro is the documented way to supply it. Two related changes: - CONTRIBUTING.md, 'docker compose up' section: spell out that db + api + blogs start cleanly on a bare host, web fails with the documented IdentityServer error, and that the difference between 'vierge' and 'configured' is exactly the cert volume. - docker-compose.yaml, web service: expand the commented volumes block to point at the same error message and reference the 'HTTPS en production' section in CONTRIBUTING.md, so an operator reading the compose file knows what to uncomment and where to look.
48 lines
1.9 KiB
Text
48 lines
1.9 KiB
Text
# Utilisation de l'image globale pour le build et l'exécution
|
|
FROM pazof/yavsc-build-env:debian12-dotnet10-android36-v1 AS build-env
|
|
WORKDIR /src
|
|
|
|
|
|
# 1. Copie de la solution
|
|
COPY *.sln ./
|
|
COPY Directory.*.props ./
|
|
|
|
# 2. Copie de l'intégralité des fichiers de projets (.csproj) pour la restauration
|
|
COPY src/Yavsc.Org/*.csproj ./src/Yavsc.Org/
|
|
COPY src/Yavsc.Abstract/*.csproj ./src/Yavsc.Abstract/
|
|
COPY src/Yavsc.Server/*.csproj ./src/Yavsc.Server/
|
|
COPY src/Yavsc.Api/*.csproj ./src/Yavsc.Api/
|
|
COPY src/Yavsc.Blogs/*.csproj ./src/Yavsc.Blogs/
|
|
COPY src/cli/*.csproj ./src/cli/
|
|
COPY src/Yavsc.Org.Tests/*.csproj ./src/Yavsc.Org.Tests/
|
|
|
|
# Projets associés à PostIt
|
|
COPY src/PostIt/PostIt/*.csproj ./src/PostIt/PostIt/
|
|
COPY src/PostIt/PostIt.Android/*.csproj ./src/PostIt/PostIt.Android/
|
|
COPY src/PostIt/PostIt.Browser/*.csproj ./src/PostIt/PostIt.Browser/
|
|
COPY src/PostIt/PostIt.Desktop/*.csproj ./src/PostIt/PostIt.Desktop/
|
|
|
|
# 4. Copie de l'intégralité du code source
|
|
COPY . .
|
|
|
|
# 3. Restauration des dépendances avec vos workloads actifs
|
|
RUN dotnet nuget add source https://isn.pschneider.fr/v3/index.json --allow-insecure-connections
|
|
|
|
# 4. Restauration des dépendances pour tous les projets
|
|
RUN dotnet restore
|
|
|
|
# 5. Copie de la totalité du code source (filtrée par votre .dockerignore)
|
|
COPY . .
|
|
|
|
# 6. Compilation du serveur Web principal
|
|
RUN dotnet build src/Yavsc.Org/Yavsc.Org.csproj -c Release --no-restore -clp:ErrorsOnly
|
|
|
|
# 7. Publication de l'artefact Yavsc.Org pour l'image runtime (Dockerfile.runtime).
|
|
# Copie depuis /app/publish/Yavsc.Org/ via --from=build-env. Les appsettings
|
|
# ne sont PAS publiés ici : fournis au runtime via BuildKit secret mount ou
|
|
# volume docker-compose.
|
|
RUN mkdir -p /app/publish
|
|
RUN dotnet publish src/Yavsc.Org/Yavsc.Org.csproj -c Release --no-build -o /app/publish/Yavsc.Org
|
|
|
|
# Définition du répertoire d'exécution par défaut
|
|
CMD ["bash"]
|