Installer Paperless-ngx sur un NAS Synology facilement en 5 minutes

Vous cherchez un moyen de numériser et d’organiser vos documents papier ? Vous possédez un NAS Synology et vous voulez l’utiliser pour archiver vos précieux documents. Dans cet article, nous allons installer Paperless-ngx sur votre NAS avec Container Station (Docker), en moins de 5 minutes.

paperless ngx synology 2023 - Installer Paperless-ngx sur un NAS Synology facilement en 5 minutes

 

Paperless-ngx et Synology

Paperless-ngx est une solution de gestion de documents qui transforme vos documents physiques en archive en ligne consultable. Il est gratuit, open source et maintenu par une équipe de passionnés. Il apprend de vos documents et peut automatiquement les classer, leur attribuer des étiquettes (notamment grâce à la reconnaissance de caractères embarqués, des correspondants, des types…

Pour installer Paperless-ngx sur son NAS, il faut passer par Docker et donc l’application officielle Container Manager de Synology, que l’on peut télécharger gratuitement depuis le Centre de paquets (si votre NAS est compatible).

container manager - Installer Paperless-ngx sur un NAS Synology facilement en 5 minutes

Préparer le NAS

La première étape consiste à préparer l’installation officielle de Paperless-ngx. Ouvrez File Station et allez dans le dossier docker pour créez un dossier paperlessngx. Puis, vous créez plusieurs nouveaux dossiers dans paperlessngx : data, media, pgdata,redisdata. Voici ce que vous devriez avoir :

capture docker arborescence e1694121322196 - Installer Paperless-ngx sur un NAS Synology facilement en 5 minutes

Allez dans le dossier media fraichement créé et créez 2 nouveaux dossiers : consume, export.

paperless media - Installer Paperless-ngx sur un NAS Synology facilement en 5 minutes

Voilà, c’est terminé pour la préparation du NAS.

Installer facilement Paperless

L’équipe de développement de Paperless-ngx fournit plusieurs fichiers « docker compose » disponibles à cette adresse. Il s’agit d’un petit fichier texte qui va automatiquement télécharger, installer et paramétrer Paperless-ngx avec Docker. Nous avons modifié légèrement le fichier pour qu’il fonctionne directement avec un NAS Synology. Pour faciliter l’installation, vous pouvez télécharger le fichier, dont voici le contenu :

# docker-compose file for running paperless from the Docker Hub.
# This file contains everything paperless needs to run.
# Paperless supports amd64, arm and arm64 hardware.
#
# All compose files of paperless configure paperless in the following way:
#
# - Paperless is (re)started on system boot, if it was running before shutdown.
# - Docker volumes for storing data are managed by Docker.
# - Folders for importing and exporting files are created in the same directory
#   as this file and mounted to the correct folders inside the container.
# - Paperless listens on port 8010.
#
# In addition to that, this docker-compose file adds the following optional
# configurations:
#
# - Instead of SQLite (default), PostgreSQL is used as the database server.
#
# To install and update paperless with this file, do the following:
#
# - Open portainer Stacks list and click 'Add stack'
# - Paste the contents of this file and assign a name, e.g. 'Paperless'
# - Click 'Deploy the stack' and wait for it to be deployed
# - Open the list of containers, select paperless_webserver_1
# - Click 'Console' and then 'Connect' to open the command line inside the container
# - Run 'python3 manage.py createsuperuser' to create a user
# - Exit the console
#
# For more extensive installation and update instructions, refer to the
# documentation.

version: "3.4"
services:
  broker:
    image: docker.io/library/redis:7
    restart: unless-stopped
    volumes:
      - ./redisdata:/data

  db:
    image: docker.io/library/postgres:15
    restart: unless-stopped
    volumes:
      - ./pgdata:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: paperless
      POSTGRES_USER: paperless
      POSTGRES_PASSWORD: paperless

  webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:latest
    restart: unless-stopped
    depends_on:
      - db
      - broker
    ports:
      - "8010:8000"
    healthcheck:
      test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]
      interval: 30s
      timeout: 10s
      retries: 5
    volumes:
      - ./data:/usr/src/paperless/data
      - ./media:/usr/src/paperless/media
      - ./media/export:/usr/src/paperless/export
      - ./media/consume:/usr/src/paperless/consume
    environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_DBHOST: db

# Additional languages to install for text recognition, separated by a
# whitespace. Note that this is
# different from PAPERLESS_OCR_LANGUAGE (default=eng), which defines the
# language used for OCR.
# The container installs English, German, Italian, Spanish and French by
# default.
# See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names&suite=buster
# for available languages.
      #PAPERLESS_OCR_LANGUAGES: tur ces
# Adjust this key if you plan to make paperless available publicly. It should
# be a very long sequence of random characters. You don't need to remember it.
      #PAPERLESS_SECRET_KEY: change-me
# Use this variable to set a timezone for the Paperless Docker containers. If not specified, defaults to UTC.
      #PAPERLESS_TIME_ZONE: America/Los_Angeles
# The default language to use for OCR. Set this to the language most of your
# documents are written in.
      PAPERLESS_OCR_LANGUAGE: fra
      
      PAPERLESS_ADMIN_USER: admin
      PAPERLESS_ADMIN_PASSWORD: Paperless#

volumes:
  data:
  media:
  pgdata:
  redisdata:

Si vous souhaitez personnaliser votre installation, nous vous conseillons de consulter la page officielle dédiée à la configuration. Si vous avez décidé de télécharger le fichier compose.yaml, déposez le directement sur votre NAS dans le dossier /docker/paperlessngx 🙂

Installer le conteneur Paperless

Ouvrez Container Manager, allez dans le menu gauche Projets et appuyez sur le bouton Créer

creer projet synology - Installer Paperless-ngx sur un NAS Synology facilement en 5 minutes

En face de Nom du projet, tapez paperless, puis en face de Chemin cliquez sur le bouton Définir le… et sélectionnez /docker/paperlessngx

Là, deux options s’offrent à vous :

Option 1 : vous avez télécharger le fichier compose.yaml dans ce dossier, le système vous proposera de l’utiliser directement (voir capture ci-dessous).

message docker compose - Installer Paperless-ngx sur un NAS Synology facilement en 5 minutes

Uen fois que vous avez appuyez sur le bouton OK, vous devriez avoir ceci :

capture container manager paperless - Installer Paperless-ngx sur un NAS Synology facilement en 5 minutes

Options 2 : vous n’avez pas télécharger le fichier compose.yaml, vous sélectionnerez Créer un fichier docker-compose.yml en face de Source et vous copiez le code (vu un peu plus haut) et vous le collez dans la zone d’édition 🙂

parametre docker paperless - Installer Paperless-ngx sur un NAS Synology facilement en 5 minutes

Quelque soit l’option choisi, vous cliquez ensuite sur le bouton Suivant. Puis sur l’écran Paramètres du portail Web, vous faites également Suivant et enfin Effectué.

terminal paperless - Installer Paperless-ngx sur un NAS Synology facilement en 5 minutes

Une boite de dialogue Terminal se lance, vous patientez une à deux minutes…

fin creation - Installer Paperless-ngx sur un NAS Synology facilement en 5 minutes

Si vous lisez la ligne Exit Code: 0 (voir capture ci-dessus) alors, c’est que tout s’est bien déroulé. Vous pouvez appuyer sur le bouton Fermer. C’est terminé 🙂

Accéder à Paperless-ngx

L’interface Web de Paperless est accessible depuis le port 8010. Ouvrez un nouvel onglet de votre navigateur préféré et tapez dans la barre http://adresseIPduNAS:8010 ou http://NomduNAS:8010. L’utilisateur par défaut est admin son mot de passe est Paperless# (n’hésitez pas à le changer).

Capture decran 2023 09 07 a 22.21.31 - Installer Paperless-ngx sur un NAS Synology facilement en 5 minutes
Vous remarquerez immédiatement que l’interface est en français et que le mode sombre s’active automatiquement (comme votre système). Vous pouvez directement déposer vos premiers documents, l’OCR est fonctionnel nativement et réglé en Français. Pour faire un import de masse (de nombreux documents), vous les déposerez vos fichiers dans le dossier /docker/paperlessngx/media/consume sur votre NAS 😉

paperless ngx docker - Installer Paperless-ngx sur un NAS Synology facilement en 5 minutes

Il existe de nombreuses applications mobiles (Android et iOS) que l’on peut utiliser avec Paperless-ngx (pour scanner et envoyer les documents). Vous retrouverez quelques exemples dans le Wiki officiel.

  1. Bonjour,
    si on a deja un dossier documents, est-ce qu’on peut le mapper en media afin qu’il scanne tous nos documents existants ?

    1. C’est ce que j’avais cherché à faire la fois où j’avais installé et il me semble qu’on ne peut pas lui donner de dossier « source » de documents (un peu comme quand on indique des dossiers de musique qu’un lecteur audio scanne pour en répertorier les fichiers audio)

        1. Visiblement on peut mais paperless semble refaire une structure de fichiers bien à lui, si je comprends bien.

          Ce que j’aurais aimé c’est le même genre d’outil mais qui permette juste de faire une base de données sans toucher à la structure des dossiers (parce que mes fichiers sont dans OneDrive, les fichiers de ma femme dans le sien, donc dossiers séparés).

          Et je n’ai pas envie de tout dupliquer. Si quelqu’un connait un outil sympa, je suis tout ouï.

  2. Hello,

    Je ne sais pas si j’utiliserai cette méthode. Il faudrait tout mettre dans le dossier consume. Voici ce que dit le site officiel :
    Les fichiers trouvés dans le répertoire consume seront supprimés du répertoire consume et stockés dans la structure de fichiers Paperless-ngx en utilisant tous les paramètres / chemins de stockage que vous avez spécifiés. Cette action est effectuée de la manière la plus sûre possible, mais cela signifie que les fichiers du répertoire consume n’existeront plus (à cet endroit) après avoir été intégrés.
    Personnellement, je n’ai pas encore une confiance aveugle dans l’outil. Garde une ou deux sauvegardes, au cas où… 😉

    1. Oui, ça c’est sauvegardé pas de soucis. mais bon quand je lis « Les fichiers trouvés dans le répertoire consume seront supprimés » bah c’est réglé. Je voulais automatiser l’import pour ne pas avoir à faire double action quand je dépose un document sur le nas

  3. Franchement, c’est une solution remarquable. J’ai testé beaucoup de solution paperless, et j’ai retenu Paperless-ngx que j’utilise depuis plus d’une année. Jamais eu un seul soucis.
    Avec un scan automatique recto-verso qui envoie via ftp local sur le NAS directement dans le dossier consume, le courrier est vite classé 😉 … et détruit 🙂

    Évidemment cela demande d’avoir un système de backup fiable, si possible délocalisé.

    1. Bonjour Pa,
      qu’utilises tu pour faire l’envoi en automatique en ftp ?
      A la base je pensais prendre synology drive pour « surveiller » un répertoire et sauvegarder vers le répertoire « consume », mais …sur syno drive je n’arrive pas à faire différentes sauvegardes à différents endroits…donc je serais preneur de ta solution.

      Merci
      C.

  4. Bonjour, j’ai suivi l’installation, au moment de faire suivant avec le fichier telechargé, on m’a demandé d’installer web station
    une fois l’installation finalisée (Exit Code: 0)
    je dois lancer web station et configurer un portail de services web

    que faut t-il mettre comme « nom d’hôte » ?

    merci d’avance pour vos retours

    hâte de tester, plein de paperasse a stocker :>

    Rémi

    1. rémy, j’ai aussi seulement 2 neurones. Peux-tu m’aider à ce sujet. On m’offre d’installer Web Station. J’ai bypassé l’option. J’ai aussi tenté de l’installer. Rien à faire, je n’arrive pas à ouvrir paperless avec http://adresseIPduNAS:8010.... Peut-être parce que je roule Docker dans un DSM Virtual Machine en phase test?

  5. Pour les utilisateurs,

    – est-il possible de limiter certains documents à certains utilisateurs ?
    – est-il possible de créer des dossiers pour stocker plus finement ?

    Merci pour vos réponses

  6. Bonjour,
    Merci pour le tuto, pas de soucis d’installation de mon côté. Par contre une question de « Newb » 😊….J’arrive bien à y accéder depuis l’extérieur (redirection du port 8010 au préalable) mais le fait que ce soit en « http » et pas « https » n’est ce pas potentiellement plus risqué ? Ne peut-on pas basculer en protocole sécurisé ?
    Merci

    1. En local, oui et non…
      Comme l’indique Zac, tu peux passer par un reverse proxy et installer un certificat pour faire du HTTPS 🙂

    2. Bonsoir,
      J’ai le même problème.
      L’installation est OK, le reverse proxy est configuré et l’interface s’affiche, mais elle ne se connecte pas.
      Dommage, paperless-ngx semble être un excellent outil, mais seulement en local et en HTTP !
      Merci

    1. GERARD,
      le changement de mot de passe dans Paperless se fait depuis le menu de gauche Paramètres puis l’onglet Utilisateurs & Groupes. En face de l’utilisateur admin (ou les autres), il y a un bouton Éditer. Enfin, sur la troisième ligne, on peut changer le mot de passe.

  7. C’est dingue les coïncidences ! J’ai installé Paperless-ngx sur mon Synology hier…
    Bref, cette application est top ! Elle a tout ce que je cherchais: upload via scanner, ocr, tags… J’avais développé une application en php/Symfony à l’époque qui faisait exactement tout ça et je devais la refaire en nodeJS mais j’avais un peu la flemme… Et j’ai découvert cette merveille hier.

    J’avais une structure de documents perso dans mon NAS sur le dossier partagé « Documents » que je souhaitait garder.
    Ce que j’ai fait pour la maintenir, c’est que j’ai recréé la structure de mes documents dans « Chemins de Stockage » et ensuite il m’a suffit de faire des liens symboliques (dans le terminal, faites « sudo vi /etc/rc.local » pour éditer le fichier rc.local, et ajoutez la ligne « sudo mount –bind /volume1/documents /volume1/docker/paperless-ngx/media/documents/originals » pour que ce soit appliqué à chaque démarrage).
    Du fait, quand j’ai rajouté mes documents dans Paperless, j’ai intégré mes fichiers dans les bons chemins de stockage et ils apparaissent dans mon dossier partagé « Documents » comme avant !
    Et si vous venez à vouloir supprimer le container Paperless-ngx, aucun problème, les fichiers sont bien stockés dans le dossier partagé « Document » et pas dans le répertoire du container.

  8. Bonjour,

    Après l’installation, j’essaie d’ouvrir la console de Paperless avec Safari (sous macOs Mojave), mais elle s’ouvre pas. J’ai ce message:

    « Paperless-ngx est en cours de chargement…  »
    « Toujours ici ? Hum, quelque chose a dû mal se passer. Voici un lien vers la documentation. »

    Certains parmi vous ont-ils déjà eu ce bug?

    Merci

    1. Bonjour,

      Même souci avec vivaldi sous linux mint ?

      Pour moi ce n’est pas un problème de navigateur.

      Quelqu’un à une idée ?

      Merci

  9. Bonjour

    Merci beaucoup pour vos explications. J’ai réussi à installer.

    Par contre, de me connecter en http me gène beaucoup. Il n’y a pas moyen de faire du https ?

    Il n’y a pas moyen de se connecter de manière plus sécurisée ?

    Merci

  10. J’avoue être un peu déçu.

    L’ensemble de mes documents administratifs sont numérisés et classés dans des dossiers.

    J’espérais que l’appli aurait scanné mes dossiers et sous dossiers et qu’il m’aurait suffit de mettre des motos clés.

    Finalement, je me demande si mettre des mots clés purement et simplement dans windows ne serait pas plus efficace.

    Je vais réfléchir mais probablement que je vais désinstaller

    Cordialement

    1. Il faut déplacer tous les documents dans le dossier « consume » de telle sorte qu’il puisse les scanner et les proposer à l’édition.
      Si vous voulez garder votre dossier tel quel, j’ai donné une astuce dans mon commentaire plus haut. Après lui avoir donné tous mes documents, il les a remis dans le dossier partagé « Documents ».
      J’en suis a quasi 300 documents traités depuis que je l’ai installé il y a quelques jours et je trouve la solution franchement bonne, il fini par bien auto-tagger la quasi totalité de ce que je lui donne. Que ce soit administratif, hospitalier, judiciaire, etc

  11. Bonjour,
    Je l’ai installé en suivant l’article, j’y ai importé des documents et je suis conquis.

    Mais, question d’un néophyte avec Docker, comment fait-on une mise à jour du programme?

    Merci
    Thierry

  12. Bonjour,

    Il est apparemment possible d’utiliser Apache TIKA pour prendre en charge les fichiers Office directement dans Paperless-ngx.

    Quelqu’un aurait une idée comment intégrer Apache TIKA avec Paperless ?

    Merci

    1. Oui, je l’ai fait il y a quelques jours !
      Voici le docker-compose.yml:

      version: « 3.9 »
      services:
      redis:
      image: redis
      container_name: PaperlessNGX-REDIS
      restart: on-failure:5
      volumes:
      – /volume1/docker/paperless-ngx/redis:/data:rw

      db:
      image: postgres
      container_name: PaperlessNGX-DB
      restart: on-failure:5
      volumes:
      – /volume1/docker/paperless-ngx/db:/var/lib/postgresql/data:rw
      environment:
      POSTGRES_DB: paperless
      POSTGRES_USER: paperless
      POSTGRES_PASSWORD: paperless

      webserver:
      image: ghcr.io/paperless-ngx/paperless-ngx
      container_name: PaperlessNGX
      restart: on-failure:5
      depends_on:
      – db
      – redis
      – gotenberg
      – tika
      ports:
      – 8777:8000
      volumes:
      – /volume1/docker/paperless-ngx/data:/usr/src/paperless/data
      – /volume1/docker/paperless-ngx/media:/usr/src/paperless/media
      – /volume1/docker/paperless-ngx/export:/usr/src/paperless/export
      – /volume1/docker/paperless-ngx/consume:/usr/src/paperless/consume
      environment:
      PAPERLESS_REDIS: redis://redis:6379
      PAPERLESS_DBHOST: db
      USERMAP_UID: 1026
      USERMAP_GID: 100
      PAPERLESS_TIME_ZONE: Europe/Paris
      PAPERLESS_ADMIN_USER: User
      PAPERLESS_ADMIN_PASSWORD: Pass
      PAPERLESS_URL: https://***.**...
      PAPERLESS_CSRF_TRUSTED_ORIGINS: https://***.**...
      PAPERLESS_OCR_LANGUAGE: fra
      PAPERLESS_TIKA_ENABLED: 1
      PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000/forms/libreoffice/convert#
      PAPERLESS_TIKA_ENDPOINT: http://tika:9998

      gotenberg:
      image: gotenberg/gotenberg
      restart: on-failure:5
      container_name: PaperlessNGX-GOTENBERG
      ports:
      – 3000:3000
      command:
      – « gotenberg »
      – « –chromium-disable-routes=true »

      tika:
      image: ghcr.io/paperless-ngx/tika
      container_name: PaperlessNGX-TIKA
      ports:
      – 9998:9998
      restart: always

      1. Bonjour Blm79
        Quelle est l’utilité des deux conteneurs ajoutés au docker-compose.yml ?
        ( gotenberg et tika )

        Pourriez-vous passer poster votre compose sur le forum (pour avoir une mise en forme conservées des indentations) ?

      2. hello,
        Je suis pas super à l’aise avec Container Manager.
        Concrètement (et pour un débutant) on fait comment pour ajouter Tika après avoir installé Paperless ?
        Merci pour le coup de main 😉

  13. Bonjour,
    les explication très limpides m’ont permis d’installer très facilement paperless, mais que c’est llleeennnttt sur mon d223j, je suis désappointé et crains d’être obligé de désinstaller.
    Comment le faire proprement svp ! Merci pour votre aide précieuse

  14. Bonjour
    et merci pour cet article. J’utilise paperless-ngx depuis quelques temps et je trouve assez utile et sympathique, néanmoins le fait de devoir tout mettre dans le repertoire « consume », oblige à , soit le faire manuellement, soit utiliser un systeme de « sauvegarde » automatique, et pour l’instant je n’ai pas trouvé le « bon outil » pour cela. (quel logiciel ? syno drive ? duplicati ? autre ? afin que cela soit en « surveillance automatique » d’un repertoire de mon pc et envoyer vers « consume »
    Je vais m’inspirer des commentaires.
    Merci à vous.
    C.

  15. Bonjour et merci pour le tuto.
    J’ai
    error response from daemon: bind mount failed: ‘/volume1/docker/paperless
    exit code: 1

    Une idée pour corriger le problème ?
    merci

      1. Je me réponds à mon même. J’ai refait une install from scratch et tout nettoyé, c’est nickel. (j’ai du en faire 4 ou 5 quand même)

  16. Bonjour et merci pour le tuto. Si je veux changer les ports je dois modifier cette ligne fichier yml ?
    ports:
    – « 8010:8000 »
    merci.
    ++

    1. C’est l’ancienne version de l’UI Docker de Synology, ils l’ont changé dans les dernières mises à jour de l’OS. L’interface ne s’appelle plus « Docker » mais « Container Manager ».

  17. Merci Cachem !
    J’ai tout bien installé et Paperless fonctionne correctement mais… pas moyen de voir et de mapper le répertoire « consume » sur W11. Pas moyen non plus de l’attaquer en ftp depuis un scanner pour rendre le workflow plus fluide. Les dossiers sont bien présents dans filestation mais invisibles ailleurs…

    Des solutions ?

  18. Hello, pour commencer merci pour ce super tuto qui m’as bien aidé à l’installation. Tout marchait parfaitement, mais depuis que je l’ai mis derrière un reverse proxy, je me connecte bien mais j’ai une erreur : Erreur HTTP : 403 Forbidden dès que je veux upload un doc ?
    que dois-je faire ? merci de vos lumières.

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.