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 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).
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 :
Allez dans le dossier media fraichement créé et créez 2 nouveaux dossiers : consume, export.
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
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).
Uen fois que vous avez appuyez sur le bouton OK, vous devriez avoir ceci :
– 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 🙂
—
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é.
Une boite de dialogue Terminal se lance, vous patientez une à deux 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).
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 😉
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.