vault backup: 2026-03-12 20:49:17
This commit is contained in:
@@ -1,3 +0,0 @@
|
||||
aujourd'hui j'ai installé un client pour me connecté sur mon bus [[MQTT]].
|
||||
j'ai utilisé [[mosquitto]]. ça marche super bien. il fonctionne sous [[linux]].
|
||||
|
||||
378
articles/2026/Déployer DocuSeal sur Debian 13.md
Normal file
378
articles/2026/Déployer DocuSeal sur Debian 13.md
Normal file
@@ -0,0 +1,378 @@
|
||||
---
|
||||
title: Déployer DocuSeal sur Debian 13
|
||||
description: Procédure permettant de déployer DocuSeal sur une machine virtuelle Debian 13 (Trixie) hébergée dans Proxmox, en utilisant Docker Compose.
|
||||
tags:
|
||||
- docuseal
|
||||
- pdf
|
||||
- signature
|
||||
- autohebergement
|
||||
date: 2026-03-12 20:26
|
||||
lastmod: 2026-03-12 20:39
|
||||
type:
|
||||
- article
|
||||
category:
|
||||
- "[[Guide]]"
|
||||
status: 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 :
|
||||
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt upgrade -y
|
||||
```
|
||||
|
||||
Il est également conseillé d’installer quelques outils utiles :
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
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.
|
||||
|
||||
```bash
|
||||
mkdir -p ~/docuseal/data
|
||||
cd ~/docuseal
|
||||
```
|
||||
|
||||
Créer ensuite le fichier de configuration Docker Compose.
|
||||
|
||||
```bash
|
||||
nano docker-compose.yml
|
||||
```
|
||||
|
||||
Contenu recommandé :
|
||||
|
||||
```yaml
|
||||
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
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
Vérifier que le conteneur fonctionne :
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
sudo apt install -y nginx certbot python3-certbot-nginx
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Configuration du virtual host
|
||||
|
||||
Créer le fichier :
|
||||
|
||||
```
|
||||
/etc/nginx/sites-available/docuseal
|
||||
```
|
||||
|
||||
```nginx
|
||||
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
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
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 :
|
||||
|
||||
```bash
|
||||
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 (`ufw` ou `nftables`)
|
||||
|
||||
- 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.
|
||||
Reference in New Issue
Block a user