Introduction
Paperless-NGX est une excellente solution de gestion documentaire, mais comme toute donnée importante, elle doit être sauvegardée régulièrement. Ce guide vous explique comment créer un backup complet de votre instance Paperless-NGX tournant sur un NAS Synology avec Docker, et comment la restaurer sur un nouveau serveur.
Ce que vous allez apprendre :
- Créer un backup complet de Paperless-NGX
- Transférer le backup sur un support amovible
- Restaurer l’instance sur un nouveau serveur
- Automatiser les sauvegardes (bonus)
⏱️ Temps nécessaire :
- Premier backup manuel : ~15 minutes
- Configuration de l’automatisation : ~10 minutes
- Restauration sur nouveau serveur : ~20 minutes
📦 Ce qui est sauvegardé :
- ✅ Tous vos documents numérisés
- ✅ La base de données complète
- ✅ Les tags, correspondants, types de documents
- ✅ Les paramètres et configuration
- ✅ Les files d’attente de traitement
Partie 1 : Créer un Backup de Paperless-NGX
Prérequis
- Accès SSH à votre Synology
- Droits sudo
- Espace disque suffisant pour l’archive (environ la taille de vos documents)
Étape 1 : Connexion SSH
Connectez-vous à votre Synology via SSH. Si vous utilisez un port personnalisé (par exemple 1966), adaptez la commande :
ssh -p 1966 votre_utilisateur@IP_SYNOLOGY
Étape 2 : Création du répertoire de backup
Créez un dossier dédié pour stocker vos backups :
sudo mkdir -p /volume1/docker/backup
Étape 3 : Arrêt des conteneurs Paperless
Pour garantir la cohérence des données, arrêtez Paperless :
cd /volume1/docker/paperless
sudo docker-compose stop
Vérifiez que tous les conteneurs sont arrêtés :
sudo docker-compose ps
Vous devriez voir « Exit » au lieu de « running » pour tous les conteneurs.
Étape 4 : Création de l’archive complète
Créez une archive tar.gz contenant l’ensemble du dossier Paperless :
cd /volume1/docker
sudo tar -czf backup/paperless_backup_$(date +%Y%m%d).tar.gz paperless/
Cette archive contient :
- 📄 Tous vos documents numérisés (dossier
data/) - 📥 Les fichiers en attente de traitement (dossier
consume/) - 📤 Les exports (dossier
export/) - 🗄️ La base de données complète
- ⚙️ Les fichiers de configuration (
docker-compose.ymletdocker-compose.env)
Étape 5 : Vérification du backup
Vérifiez que l’archive a bien été créée :
ls -lh /volume1/docker/backup/paperless_backup_*.tar.gz
Vous devriez voir quelque chose comme :
-rwxrwxrwx+ 1 root root 5.5G Feb 09 19:16 paperless_backup_20260209.tar.gz
Étape 6 : Redémarrage de Paperless
Redémarrez vos conteneurs :
cd /volume1/docker/paperless
sudo docker-compose up -d
Vérifiez que tout fonctionne :
sudo docker-compose ps
Tous les conteneurs doivent afficher « running ».
Étape 7 : Transfert sur support amovible
Option A – Via l’interface DSM (le plus simple) :
- Ouvrez DSM dans votre navigateur
- Lancez File Station
- Naviguez vers
/docker/backup - Branchez votre disque USB sur le Synology
- Copiez le fichier
paperless_backup_AAAAMMJJ.tar.gzsur le disque
Option B – Via SCP depuis votre ordinateur :
scp -P 1966 votre_utilisateur@IP_SYNOLOGY:/volume1/docker/backup/paperless_backup_*.tar.gz /chemin/local/
Partie 2 : Restaurer Paperless-NGX sur un Nouveau Serveur
Prérequis sur le nouveau serveur
- Docker et Docker Compose installés
- Accès SSH avec droits sudo
- Le fichier de backup disponible
Étape 1 : Transfert du backup
Copiez votre archive sur le nouveau serveur.
Via SCP depuis votre PC :
scp -P PORT_SSH paperless_backup_20260209.tar.gz admin@IP_NOUVEAU_SERVEUR:/volume1/docker/
Ou via une clé USB : Copiez le fichier directement via File Station du nouveau Synology.
Étape 2 : Connexion au nouveau serveur
ssh -p PORT_SSH admin@IP_NOUVEAU_SERVEUR
Étape 3 : Extraction de l’archive
cd /volume1/docker
sudo tar -xzf paperless_backup_20260209.tar.gz
Cela recrée l’arborescence complète :
/volume1/docker/paperless/
├── consume/
├── data/
├── export/
├── docker-compose.yml
└── docker-compose.env
Étape 4 : Adaptation de la configuration
Si l’IP ou le port du nouveau serveur sont différents, modifiez la configuration :
cd /volume1/docker/paperless
sudo nano docker-compose.env
Adaptez les variables suivantes :
PAPERLESS_URL=http://NOUVELLE_IP:NOUVEAU_PORT
PAPERLESS_PORT=NOUVEAU_PORT
Si nécessaire, modifiez aussi les ports dans docker-compose.yml :
sudo nano docker-compose.yml
Cherchez la section du webserver et modifiez :
ports:
- "NOUVEAU_PORT:8000"
Étape 5 : Lancement de Paperless
Démarrez tous les conteneurs :
cd /volume1/docker/paperless
sudo docker-compose up -d
Étape 6 : Vérification complète
Vérifiez que tous les conteneurs sont actifs :
sudo docker-compose ps
Tous doivent afficher « running » et « healthy » (pour le webserver).
Consultez les logs si nécessaire :
sudo docker-compose logs -f
(Appuyez sur Ctrl+C pour quitter)
Étape 7 : Test de l’interface
Accédez à Paperless dans votre navigateur :
http://IP_NOUVEAU_SERVEUR:PORT
Vérifiez que :
- ✅ Vous pouvez vous connecter avec vos identifiants
- ✅ Tous vos documents sont présents
- ✅ La recherche fonctionne
- ✅ Vous pouvez importer de nouveaux documents
Bonnes Pratiques et Conseils
Fréquence des backups
- Hebdomadaire : recommandé pour un usage personnel (dimanche matin tôt)
- Bi-hebdomadaire : pour un usage personnel léger (peu de documents ajoutés)
- Quotidien : pour un usage professionnel intensif avec beaucoup de documents
- Avant mise à jour : systématiquement avant toute modification majeure
Règle générale : Posez-vous la question : « Puis-je accepter de perdre une semaine de documents ? » Si oui, hebdomadaire suffit.
Stratégie de sauvegarde 3-2-1
- 3 copies de vos données (original + 2 backups)
- 2 supports différents (disque interne + disque externe)
- 1 copie hors site (cloud, autre localisation physique)
Conservation des backups
Pour un usage personnel, 2 backups suffisent :
- Le backup le plus récent
- L’avant-dernier backup (sécurité en cas de corruption)
Cette stratégie économise l’espace disque tout en gardant une sauvegarde de secours. Pour un usage professionnel intensif, vous pouvez augmenter à 4 backups.
Comment fonctionne la rotation :
Le script utilise cette logique :
ls -t paperless_backup_*.tar.gz | tail -n +3 | xargs -r rm --
ls -tliste les backups du plus récent au plus ancientail -n +3garde tout SAUF les 2 premiers (supprime à partir du 3ème)xargs rmsupprime les fichiers listés
Exemple concret :
- Semaine 1 :
backup_20260209.tar.gz(5.5G) - Semaine 2 :
backup_20260216.tar.gz(5.6G) → garde les 2 - Semaine 3 :
backup_20260223.tar.gz(5.4G) → supprime automatiquementbackup_20260209.tar.gz - Semaine 4 :
backup_20260302.tar.gz(5.7G) → supprime automatiquementbackup_20260216.tar.gz
Résultat : espace disque constant (environ 11G pour 2 backups de 5.5G chacun)
Vérification des backups
Important : Un backup non testé n’est pas un backup !
Testez périodiquement la restauration sur une machine virtuelle ou un serveur de test.
Bonus : Automatiser les Backups
Script de backup automatique
Créez un script pour automatiser le processus :
sudo nano /usr/local/bin/backup_paperless.sh
Contenu du script :
#!/bin/bash
# Configuration
BACKUP_DIR="/volume1/docker/backup"
PAPERLESS_DIR="/volume1/docker/paperless"
MAX_BACKUPS=2 # Nombre de backups à conserver
# Date du jour
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="$BACKUP_DIR/paperless_backup_$DATE.tar.gz"
# Log de début
echo "$(date): Début du backup..." >> /var/log/paperless_backup.log
# Arrêt de Paperless
echo "$(date): Arrêt des conteneurs..." >> /var/log/paperless_backup.log
cd $PAPERLESS_DIR
docker-compose stop
# Création du backup
echo "$(date): Création de l'archive..." >> /var/log/paperless_backup.log
cd /volume1/docker
tar -czf $BACKUP_FILE paperless/
# Vérification de la création
if [ -f "$BACKUP_FILE" ]; then
BACKUP_SIZE=$(du -h "$BACKUP_FILE" | cut -f1)
echo "$(date): Backup créé avec succès - $BACKUP_FILE ($BACKUP_SIZE)" >> /var/log/paperless_backup.log
else
echo "$(date): ERREUR - Le backup n'a pas été créé !" >> /var/log/paperless_backup.log
fi
# Redémarrage de Paperless
echo "$(date): Redémarrage des conteneurs..." >> /var/log/paperless_backup.log
cd $PAPERLESS_DIR
docker-compose up -d
# Rotation : ne garder que les X derniers backups
echo "$(date): Rotation des backups (conservation des $MAX_BACKUPS derniers)..." >> /var/log/paperless_backup.log
cd $BACKUP_DIR
ls -t paperless_backup_*.tar.gz | tail -n +$((MAX_BACKUPS + 1)) | xargs -r rm --
echo "$(date): Backup terminé !" >> /var/log/paperless_backup.log
echo "---" >> /var/log/paperless_backup.log
Rendez le script exécutable :
sudo chmod +x /usr/local/bin/backup_paperless.sh
Planification avec Cron
Pour un usage personnel, une sauvegarde hebdomadaire est suffisante.
Éditez le crontab root :
sudo crontab -e
Ajoutez une ligne pour exécuter le backup chaque dimanche à 3h du matin :
0 3 * * 0 /usr/local/bin/backup_paperless.sh
Explication du cron :
0= minute 03= 3h du matin*= tous les jours du mois*= tous les mois0= dimanche (0=dimanche, 1=lundi, etc.)
Alternative : Planificateur DSM (plus simple)
Via l’interface DSM :
- Panneau de configuration → Planificateur de tâches
- Créer → Tâche planifiée → Script défini par l’utilisateur
- Général :
- Nom : « Backup Paperless Hebdomadaire »
- Utilisateur : root
- Planification :
- Fréquence : Hebdomadaire
- Jour : Dimanche
- Heure : 03:00
- Paramètres de la tâche :
/usr/local/bin/backup_paperless.sh
Test du script
Avant d’attendre le dimanche, testez le script manuellement :
sudo /usr/local/bin/backup_paperless.sh
Vérifiez que tout s’est bien passé :
# Voir les logs
cat /var/log/paperless_backup.log
# Vérifier les backups créés
ls -lh /volume1/docker/backup/paperless_backup_*.tar.gz
Vérification de la rotation
Après 3 semaines de backups automatiques, vérifiez que vous n’avez bien que 2 fichiers :
ls -lh /volume1/docker/backup/paperless_backup_*.tar.gz
Vous devriez voir uniquement les 2 derniers backups :
-rw-r--r-- 1 root root 5.5G Feb 16 03:00 paperless_backup_20260216_030000.tar.gz
-rw-r--r-- 1 root root 5.4G Feb 23 03:00 paperless_backup_20260223_030000.tar.gz
Le système supprime automatiquement les backups plus anciens que les 2 derniers.
Ajuster le nombre de backups conservés
Si vous souhaitez conserver plus de 2 backups (par exemple 4), modifiez simplement le script :
sudo nano /usr/local/bin/backup_paperless.sh
Changez cette ligne :
MAX_BACKUPS=2 # Nombre de backups à conserver
En :
MAX_BACKUPS=4 # Nombre de backups à conserver
Sauvegardez et fermez (Ctrl+X, puis Y, puis Entrée).
Impact sur l’espace disque :
- 2 backups = ~11 Go (pour des backups de 5.5 Go chacun)
- 4 backups = ~22 Go
- 6 backups = ~33 Go
Recommandations Additionnelles
Sauvegarde externalisée (IMPORTANT)
⚠️ Les 2 backups automatiques sont sur le même NAS : si votre Synology tombe en panne ou est volé, vous perdez tout !
Solution : Copie manuelle mensuelle
Une fois par mois, copiez un backup sur un support externe :
# Identifier le backup le plus récent
ls -lth /volume1/docker/backup/paperless_backup_*.tar.gz | head -1
# Le copier sur une clé USB (montée dans /volumeUSB1 par exemple)
cp /volume1/docker/backup/paperless_backup_AAAAMMJJ.tar.gz /volumeUSB1/usbshare/
Ou via File Station (plus simple) :
- Branchez votre disque USB sur le Synology
- Ouvrez File Station
- Copiez le dernier backup sur le USB
- Éjectez proprement le disque
- Rangez-le dans un lieu sûr (hors de chez vous idéalement)
Règle 3-2-1 adaptée :
- 3 copies : données en production + 2 backups automatiques
- 2 supports : disque interne NAS + USB/disque externe
- 1 copie hors site : le disque USB rangé ailleurs
Alerte en cas d’échec (optionnel)
Si vous voulez être notifié en cas d’échec du backup, ajoutez ceci à la fin du script /usr/local/bin/backup_paperless.sh (nécessite la configuration de l’envoi d’emails sur le Synology) :
# Envoi d'une notification DSM en cas d'échec
if [ ! -f "$BACKUP_FILE" ]; then
synodsmnotify @administrators "Paperless Backup" "Le backup Paperless du $(date) a échoué !"
fi
Dépannage
Le backup est très gros
C’est normal si vous avez beaucoup de documents. Paperless stocke les fichiers originaux + versions optimisées.
Solution : Utilisez un disque externe de plus grande capacité ou nettoyez les anciens documents inutiles.
Les conteneurs ne redémarrent pas
Vérifiez les logs :
cd /volume1/docker/paperless
sudo docker-compose logs
Vérifiez aussi que les ports ne sont pas déjà utilisés :
sudo netstat -tlnp | grep VOTRE_PORT
Erreur de permissions
Si vous avez des erreurs de permissions après restauration :
cd /volume1/docker/paperless
sudo chown -R 1000:1000 data/ consume/ export/
Base de données corrompue
Si la base de données pose problème, les conteneurs devraient la recréer automatiquement au premier démarrage.
Conclusion
Vous savez maintenant comment :
- ✅ Créer un backup complet de Paperless-NGX
- ✅ Transférer votre backup en sécurité
- ✅ Restaurer votre instance sur un nouveau serveur
- ✅ Automatiser vos sauvegardes
N’oubliez pas : La meilleure sauvegarde est celle que vous faites régulièrement et que vous testez !
Ressources utiles
Article rédigé le 9 février 2026 Testé sur Synology DS415+ avec Paperless-NGX via Docker Compose