====== Publier l'application Documenso ======
===== Architecture fonctionnelle =====
┌────────────────────────────┐
│ Utilisateurs INTERNES │
│ (agents, enseignants, etc.) │
└──────────────┬─────────────┘
│
▼
Microsoft Entra ID
(SSO, MFA, CA)
│
▼
Entra ID Application Proxy
│
▼
Reverse Proxy interne
(Nginx)
│
▼
Documenso
▲
│
┌──────────────────────────┴──────────────────────────┐
│ │
│ Utilisateurs EXTERNES │
│ (parents, partenaires, fournisseurs) │
│ │
└───── Lien de signature sécurisé (email Documenso) ──┘
===== Configure Nginx dans le Docker compose=====
* ajouter dans le fichier compose.yml les éléments suivants :
nginx:
image: nginx:1.25-alpine
container_name: documenso-nginx
restart: unless-stopped
ports:
- "8080:80" # utilisé UNIQUEMENT par Entra App Proxy
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d:ro
depends_on:
- documenso
* Entra App Proxy pointe vers http://localhost:8080
* Pré-authentification Entra ID
===== Arborescence attendue =====
├── compose.yml
└── nginx
└── conf.d
└── documenso.conf
* Contenu de documenso.conf
server {
listen 80;
server_name sign.educ-valadon-limoges.fr;
client_max_body_size 50M;
location / {
proxy_pass http://documenso:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_buffering off;
}
}
* tester que cela fonctionne
docker exec -it documenso-nginx nginx -t
=> résultat attendu
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
* Documenso doit être maintenant accessible en local sur le port 8000
===== Configuration de Entra ID =====
* Dans Applications d'entreprise, configurer le proxy d'application avec :
* URL interne : http://adresselocale:8000 (port exposé par Nginx)
* Pré‑authentification : Microsoft Entra ID
* Accès restreint à un groupe Entra
* Dans inscription d'applications, configurer avec :
* URI de redirection : https://sign.educ-valadon-limoges.fr/ (pas de callback )
===== désactiver toute authentification Documenso =====
Dans le .env de Documenso, désactiver l'authentification avec ce paramètre
DOCUMENSO_OAUTH_ENABLED=false
* Cela supprime :
* le bouton “Se connecter”
* toute tentative OAuth
* toute gestion de session interne
Documenso devient une application “derrière Entra”