contributing+compose: clarify 'machine vierge' criterion for Jalon 0

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.
This commit is contained in:
Paul Schneider 2026-06-27 17:38:08 +01:00
commit 8ec32e7931
3 changed files with 24 additions and 1 deletions

View file

@ -114,6 +114,22 @@ pointe sur le stage correspondant du Dockerfile multi-stage via
`build.target`. Les services runtime attendent le healthcheck
`pg_isready` de `db` avant de démarrer.
**Sur une machine vierge, `db`, `api` et `blogs` démarrent. Le
service `web` (Yavsc.Org) échoue avec :**
> Production IdentityServer requires a signing certificate.
> Configure Kestrel:Endpoints:Https:Certificate:{Path,KeyPath}.
C'est attendu : IdentityServer8 en mode Production exige un cert
HTTPS pour signer les tokens (cf. `src/Yavsc.Org/Extensions/HostingExtensions.cs:374`).
Le critère de sortie Jalon 0 « docker compose up vert sur machine
vierge » n'est donc **pas** « tout démarre sans rien » — c'est
« tout démarre **après** la procédure d'installation qui monte
un cert HTTPS valide, cf. HTTPS en production ci-dessous ».
Le montage de `/etc/letsencrypt` (volume commenté par défaut
dans `docker-compose.yaml`) est l'étape qui distingue une
machine configurée d'une machine vierge.
### appsettings-org.json
Le fichier de configuration de prod (`src/Yavsc.Org/appsettings-org.json`)