Servir le site HTML statique (_site/) derrière Traefik, sur le VPS Dokploy
auto-hébergé — même stack que app.entretien-sources.nedcore.net. Aucune donnée
confidentielle : image autosuffisante, aucun volume.
Sous docs/deploy/ :
Dockerfile — multi-stage : build HTML via le pilote Phase 2, puis service
nginx:alpine sur le port 80.nginx.conf — try_files $uri $uri/ $uri.html (URLs propres, sous-dossiers
versionnés servis tels quels).docker-compose.yml — service docs, expose: 80, dokploy-network
externe, restart: unless-stopped.Le conteneur ne rend que le HTML. Le PDF exige la toolchain Windows MiKTeX (polices Times/Arial) ; il se génère côté Windows et se dépose dans
_site/.
docs/deploy/docker-compose.yml
(le build context ../.. = racine du dépôt est déjà fixé dans le compose).<sous-domaine>.nedcore.net (proposé :
docs-bfev.nedcore.net) → service docs, port 80, HTTPS letsencrypt.build_docs.py --format html, nginx sert
/usr/share/nginx/html.dokploy-network externe : le service doit y être attaché (déjà dans le
compose) sinon Traefik ne le voit pas → 502.expose et non ports : pas de publication d'hôte, le VPS partage le 80/443
avec d'autres apps ; Traefik route en interne. Publier ports: provoquerait un
conflit (Apache/autres).docs/** impose un nouveau build d'image (Deploy), pas un simple restart.Le serveur sert tout _site/ : si la chaîne publish-on-tag a produit des
sous-dossiers _site/<tag>/ et la redirection racine, ils sont accessibles tels
quels. Pour publier une version donnée, builder en --version <tag> avant le
build d'image, ou intégrer la chaîne d'automatisation au pipeline CI.