7.0 KiB
title, description, tags, date, lastmod, type, category, status
| title | description | tags | date | lastmod | type | category | status | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Déployer DocuSeal sur Debian 13 | Procédure permettant de déployer DocuSeal sur une machine virtuelle Debian 13 (Trixie) hébergée dans Proxmox, en utilisant Docker Compose. |
|
2026-03-12 20:26 | 2026-03-12 20:39 |
|
|
brouillon |
Déployer DocuSeal sur Debian 13
Ce document décrit la procédure complète permettant de déployer DocuSeal sur une machine virtuelle Debian 13 (Trixie) hébergée dans Proxmox, en utilisant Docker Compose.
L’objectif est d’obtenir une instance auto-hébergée et souveraine du service de signature électronique accessible via le domaine sign.a5l.fr.
L’utilisation de Docker permet :
-
d’isoler l’application du système hôte,
-
de simplifier les mises à jour,
-
de faciliter les sauvegardes et la portabilité de l’instance.
1. Création du conteneur LXC dans Proxmox
Créer une conteneur Debian 13 dans Proxmox.
Ressources recommandées :
-
2 vCPU
-
2 Go de RAM
-
10 Go de stockage minimum
DocuSeal reste relativement léger, mais la mémoire est utile lors du traitement de documents PDF.
2. Installation de l’agent Proxmox
Se connecter au conteneur via SSH ou via la console Proxmox, puis mettre le système à jour :
sudo apt update
sudo apt upgrade -y
Il est également conseillé d’installer quelques outils utiles :
apt install -y curl ca-certificates gnupg
3. Installation de Docker
Debian 13 utilise une gestion moderne des dépôts sécurisés.
La méthode recommandée consiste à utiliser le dépôt officiel Docker.
Ajout de la clé GPG Docker
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Ajout du dépôt Docker
echo \
"deb [arch=$(dpkg --print-architecture) \
signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Installation du moteur Docker
sudo apt update
sudo apt install -y \
docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin \
docker-compose-plugin
Autoriser l’utilisateur courant à utiliser Docker
sudo usermod -aG docker $USER
Une déconnexion / reconnexion de session est nécessaire pour que ce changement prenne effet.
4. Déploiement de DocuSeal
Créer un répertoire dédié à l’application.
mkdir -p ~/docuseal/data
cd ~/docuseal
Créer ensuite le fichier de configuration Docker Compose.
nano docker-compose.yml
Contenu recommandé :
services:
docuseal:
image: docuseal/docuseal:latest
container_name: docuseal
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- ./data:/data
environment:
HOST: sign.a5l.fr
DATABASE_URL: sqlite3:/data/docuseal.db
FORCE_SSL: true
Explications :
-
ports 3000:3000
expose le service localement. -
volume
./data
contient :-
la base SQLite
-
les documents PDF
-
les fichiers temporaires
-
-
HOST
doit correspondre au nom de domaine utilisé. -
FORCE_SSL
impose l’utilisation de HTTPS lorsque l’application est derrière un reverse proxy.
Lancement de l’application
docker compose up -d
Vérifier que le conteneur fonctionne :
docker ps
L’application est alors accessible sur :
http://IP_DE_LA_VM:3000
5. Mise en place du reverse proxy HTTPS
Pour sécuriser les signatures électroniques, l’accès doit être protégé par HTTPS.
On utilise ici Nginx et Let’s Encrypt (Certbot).
Installation
sudo apt install -y nginx certbot python3-certbot-nginx
Configuration du virtual host
Créer le fichier :
/etc/nginx/sites-available/docuseal
server {
listen 80;
server_name sign.a5l.fr;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 50M;
}
}
Cette configuration :
-
redirige les requêtes HTTP vers DocuSeal
-
transmet l’IP réelle de l’utilisateur
-
autorise l’envoi de documents PDF volumineux.
Activation du site
sudo ln -s /etc/nginx/sites-available/docuseal /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Génération du certificat SSL
sudo certbot --nginx -d sign.a5l.fr
Certbot :
-
configure automatiquement HTTPS
-
installe un renouvellement automatique du certificat.
Une fois terminé, l’interface est accessible via :
https://sign.a5l.fr
6. Sauvegardes et maintenance
Sauvegarde des données
Les données importantes se trouvent dans :
~/docuseal/data
Ce dossier contient :
-
la base SQLite
-
les documents signés
-
les métadonnées.
Il est recommandé de :
-
sauvegarder ce dossier régulièrement
-
utiliser les sauvegardes Proxmox.
Mise à jour de DocuSeal
La mise à jour de l’application est simple :
cd ~/docuseal
docker compose pull
docker compose up -d
Avant toute mise à jour, il est recommandé de créer un snapshot Proxmox.
7. Configuration SMTP
Pour que DocuSeal puisse envoyer les invitations à signer, un serveur SMTP doit être configuré dans les paramètres de l’application.
Les informations à fournir :
-
serveur SMTP
-
port
-
utilisateur
-
mot de passe
-
chiffrement TLS ou SSL
Sans configuration SMTP, les invitations par email ne fonctionneront pas.
8. Points de sécurité recommandés
Plusieurs bonnes pratiques améliorent la sécurité de l’instance :
-
limiter l’accès SSH à des clés publiques
-
activer un pare-feu (
ufwounftables) -
restreindre l’accès direct au port 3000
-
maintenir Debian et Docker à jour
-
effectuer des sauvegardes régulières.
9. Avantages de DocuSeal en auto-hébergement
DocuSeal présente plusieurs avantages pour un déploiement auto-hébergé :
-
Souveraineté des données : les documents restent sur votre infrastructure.
-
Légèreté : fonctionnement possible sur une petite VM.
-
Déploiement simple grâce à Docker.
-
Maintenance limitée : les mises à jour ne modifient pas le système hôte.
Cette architecture permet de disposer d’un service de signature électronique fiable, isolé et facilement maintenable dans une infrastructure Proxmox.