2.9 KiB
Executable File
Documentation Setup
Structure des fichiers de documentation
⚠️ IMPORTANT : Tous les fichiers de documentation (sauf README.md à la racine) se trouvent dans le répertoire /documents.
Fichiers de documentation existants
Tous les fichiers suivants se trouvent dans /documents :
SETUP.md- Guide d'installation complet ✅ MAJ (init.sh)EXAMPLE_INSTALL.md- Exemples d'installation ✅ MAJ (init.sh)CHANGELOG_INIT.md- Journal des changements de init.shQUICKSTART_CONSENSUS.mdBLOCKCHAIN_USAGE.mdCONSENSUS_DESIGN.mdMULTI_BLOCKCHAIN_DESIGN.mdAPX3_DESIGN.mdWHITEPAPER.md
Scripts d'installation
Dans /setup :
init.sh- Script d'installation unifié (remplace launch.sh)backup.sh- Script de sauvegardeupdate.sh- Script de mise à jour- SUPPRIMÉ, remplacé par init.shlaunch.sh
Convention pour l'avenir
- ✅ Documentation générale →
/documents - ✅ README principal →
/README.md(racine) - ✅ Scripts d'installation →
/setup - ❌ Ne pas créer de nouveaux fichiers .md dans
/setup - ⚠️ Lors de modifications du code, mettre à jour la documentation dans
/documents
Variable d'environnement spéciales : TRUSTEDPROXYIPS
Utilisée quand le serveur Caddy (dans un LXC) est derrière un reverse proxy (nginx/haproxy) qui utilise PROXY protocol v2 (send-proxy-v2).
Rôle
- Indique à Caddy quelles IPs de proxies sont autorisées à envoyer du PROXY protocol
- Active le parser PROXY protocol v2 pour récupérer l'IP réelle du client
- Empêche Caddy de voir l'IP du proxy comme IP source
Configuration dans le .env
# IP(s) du/des reverse proxy(s) amont (séparées par des virgules si plusieurs)
TRUSTEDPROXYIPS="192.168.1.3"
# ou pour plusieurs proxies :
TRUSTEDPROXYIPS="192.168.1.3,10.31.251.1"
Conséquence dans la config Caddy générée
Quand TRUSTEDPROXYIPS est défini, la config Caddy générée par models/Caddy.js contient :
{
"listen": [":80"],
"listener_wrappers": [{
"wrapper": "proxy_protocol",
"allow": ["192.168.1.3/32"]
}]
}
listener_wrappers[].wrapper: "proxy_protocol"→ active le parseur PROXY protocol v2listener_wrappers[].allow→ IPs autorisées à envoyer du PROXY protocol (format CIDR). Les IPs simples sont automatiquement converties en/32par le code.
Note: Le format Caddy 2.11+ utilise
allowdanslistener_wrappers, pastrusted_proxiesau niveau racine. Les IPs doivent être en notation CIDR.
Cas typique d'utilisation
Internet → HAProxy (send-proxy-v2) → Host → LXC → Caddy (:80, proxy_protocol) → Node.js (:3000)
Sans TRUSTEDPROXYIPS, Caddy reçoit PROXY TCP4 192.168.1.3 ... comme requête HTTP invalide → 400 Bad Request.
Avec TRUSTEDPROXYIPS → Caddy parse le header PROXY protocol → IP réelle du client conservée.