288 lines
5.6 KiB
Markdown
288 lines
5.6 KiB
Markdown
---
|
||
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:55
|
||
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
|
||
```
|
||
|
||
---
|
||
|
||
# 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. |