Un Autre Guide Complet : Sauvegarder et Restaurer Paperless-NGX sur Synology

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.yml et docker-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) :

  1. Ouvrez DSM dans votre navigateur
  2. Lancez File Station
  3. Naviguez vers /docker/backup
  4. Branchez votre disque USB sur le Synology
  5. Copiez le fichier paperless_backup_AAAAMMJJ.tar.gz sur 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

  1. 3 copies de vos données (original + 2 backups)
  2. 2 supports différents (disque interne + disque externe)
  3. 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 --
  1. ls -t liste les backups du plus récent au plus ancien
  2. tail -n +3 garde tout SAUF les 2 premiers (supprime à partir du 3ème)
  3. xargs rm supprime 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 automatiquement backup_20260209.tar.gz
  • Semaine 4 : backup_20260302.tar.gz (5.7G) → supprime automatiquement backup_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 0
  • 3 = 3h du matin
  • * = tous les jours du mois
  • * = tous les mois
  • 0 = dimanche (0=dimanche, 1=lundi, etc.)

Alternative : Planificateur DSM (plus simple)

Via l’interface DSM :

  1. Panneau de configuration → Planificateur de tâches
  2. Créer → Tâche planifiée → Script défini par l’utilisateur
  3. Général :
    • Nom : « Backup Paperless Hebdomadaire »
    • Utilisateur : root
  4. Planification :
    • Fréquence : Hebdomadaire
    • Jour : Dimanche
    • Heure : 03:00
  5. 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) :

  1. Branchez votre disque USB sur le Synology
  2. Ouvrez File Station
  3. Copiez le dernier backup sur le USB
  4. Éjectez proprement le disque
  5. 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