Paperless-ngx
Paperless-ngx prend la pile de papier qui s’accumule sur votre bureau – tickets de caisse, fiches de paie, courriers d’assurance, bons de garantie que vous ressortirez dans trois ans en les ayant oubliés – et la transforme en archive numérique consultable, hébergée chez vous. Chaque page passe par l’OCR dès son arrivée. Un classificateur intégré observe la façon dont vous avez étiqueté vos documents précédents, puis se met à proposer tags, correspondants et types de document sur les suivants, souvent juste du premier coup.
En bref : licence GPL-3.0 · image officielle ghcr.io/paperless-ngx/paperless-ngx · stack minimale à deux conteneurs · alternative à Mayan EDMS, Docspell et aux applications de numérisation vers le cloud façon Google Drive.
Ce que fait vraiment Paperless-ngx
Chaque fichier entrant passe par l’OCR, et le texte extrait est indexé pour une recherche plein texte sur toute l’archive, pas seulement dans le nom du fichier. Ce qui déstabilise les habitués du simple scan-vers-PDF, c’est l’étiquetage : pas de taxonomie figée à remplir à la main. À la place, un petit classificateur s’entraîne sur les documents que vous avez déjà étiquetés et commence à proposer de lui-même tags, correspondants et types de document. C’est poussif sur les premières dizaines de documents, puis ça se met à fonctionner correctement.
- OCR et recherche plein texte sur chaque page, pas seulement sur le titre
- Suggestions de tags, correspondants et types de document par un classificateur entraîné sur votre propre bibliothèque, pas sur un modèle générique
- Un dossier « consume » surveillé, plus une récupération IMAP optionnelle, pour qu’un scanner ou une appli mobile alimente directement l’archive
- Séparation par code-barres, pour faire passer toute une pile de documents sans rapport en un seul passage scanner
- Historique des versions de documents et piste d’audit
- Une API REST documentée et un moteur de workflows pour attribuer automatiquement les métadonnées à l’arrivée
Paperless-ngx est-il vraiment open source ?
Oui, GPL-3.0, vérifié directement dans le fichier LICENSE du dépôt officiel plutôt que supposé sur la foi d’un badge. Le « ngx » du nom est mérité : le projet Paperless original a été forké en Paperless-ng par un mainteneur solo, et quand celui-ci s’est retiré en 2022, un groupe de contributeurs a repris le flambeau plutôt que de laisser le projet mourir. La maintenance repose désormais sur une équipe plutôt que sur le temps libre d’une seule personne, et ça se voit : les versions sortent à un rythme mensuel, et le projet a dépassé les 40 000 étoiles sur GitHub.
La documentation du projet est directe sur ce point : les documents restent sur le disque sans chiffrement, donc Paperless-ngx « ne devrait jamais tourner sur un hôte auquel vous ne faites pas confiance ». La recommandation des mainteneurs eux-mêmes va vers un serveur local chez vous avec de vraies sauvegardes, pas un VPS bon marché quelque part.
Installer Paperless-ngx avec Docker
Le dépôt officiel fournit des fichiers Compose prêts à l’emploi pour trois configurations. SQLite est la plus simple, avec deux conteneurs seulement. PostgreSQL ajoute un conteneur de base de données dédié une fois que votre bibliothèque dépasse le stade du loisir. Une variante Postgres-plus-Tika embarque en plus Gotenberg et Apache Tika pour que Paperless-ngx puisse aussi digérer des fichiers Word, Excel et PowerPoint en les convertissant d’abord en PDF.
Besoin d’ingérer aussi des fichiers Word, Excel ou PowerPoint ? Prenez la variante compose postgres-tika : elle ajoute les conteneurs Gotenberg et Apache Tika et active PAPERLESS_TIKA_ENABLED pour vous. Nouveau sur Docker Compose ? Familiarisez-vous avec les bases avant de vous lancer dans cette stack à quatre conteneurs.
services:
broker:
image: docker.io/library/redis:8
restart: unless-stopped
volumes:
- redisdata:/data
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- broker
ports:
- "8000:8000"
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
volumes:
data:
media:
redisdata:
Ou évitez de tout retaper et laissez le script d’installation officiel préparer le dossier et les fichiers à votre place :
bash -c "$(curl -L https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh)"
Avant de commencer : Docker et Compose installés, un dossier à monter en ./consume, et PAPERLESS_SECRET_KEY plus PAPERLESS_URL renseignés dans docker-compose.env si l’instance doit se trouver derrière un nom de domaine ou un reverse proxy.
- Téléchargez les fichiers Compose, ou lancez le script d’installation ci-dessus, dans leur propre dossier.
- Modifiez
docker-compose.envpour définir une clé secrète et, si besoin, votre URL externe. - Lancez
docker compose up -det attendez que les conteneurs passent en état healthy. - Créez le premier compte admin :
docker compose exec webserver python manage.py createsuperuser. - Déposez un PDF dans le dossier
consumeet regardez-le se faire OCRiser et étiqueter tout seul.
Avantages et inconvénients
- Vraie OCR et recherche plein texte sur toute l’archive, pas seulement sur les noms de fichiers
- Un étiquetage qui apprend réellement vos habitudes au lieu de vous imposer une arborescence de dossiers rigide
- Le dossier consume et la récupération IMAP rendent l’ingestion depuis un scanner ou un téléphone presque automatique
- Une communauté active, des versions à rythme quasi mensuel, plus de 40 000 étoiles sur GitHub
- Une vraie API REST si vous voulez scripter autour
- Aucun chiffrement au repos : cette partie est entièrement à votre charge, au niveau disque ou réseau
- Les suggestions de tags ne valent que ce que vous avez déjà étiqueté, donc le premier jour est laborieux
- Le support des documents bureautiques demande deux conteneurs supplémentaires, pas juste une case à cocher dans les réglages
- Aucune application mobile maintenue par l’équipe principale : vous faites confiance à des clients tiers, pas au projet lui-même
Ajouter du tagging par IA en plus
Le modèle de tagging propre à Paperless-ngx apprend de votre bibliothèque, pas d’un modèle de langage, mais pas mal de monde va quand même chercher un module complémentaire à base de LLM. Le plus visible est paperless-gpt, un projet communautaire distinct sous licence MIT (pas affilié à l’équipe de Paperless-ngx, et le projet le précise d’emblée), qui dialogue avec Paperless-ngx via son API pour générer titres, tags et correspondants, et qui peut nettoyer l’OCR sur les scans peu lisibles. Pas besoin de confier vos documents à une API cloud pour autant : pointez-le vers un serveur Ollama local plutôt que vers OpenAI, et tout reste sur du matériel que vous possédez déjà, comme sur la plupart des homelabs qui font tourner Paperless-ngx.
Alternatives
Mayan EDMS couvre un terrain similaire mais penche vers des outils de workflow plus lourds, façon entreprise. Docspell vise le même objectif d’archive mono-utilisateur avec sa propre approche de l’étiquetage. Et si ce qu’il vous faut, c’est du stockage et de la synchronisation de fichiers en général, pas de l’archivage OCR, notre fiche Nextcloud couvre ce terrain-là plutôt que l’OCR et l’étiquetage de documents.
Foire aux questions
Paperless-ngx est-il gratuit ? Oui, GPL-3.0, pas de palier payant, pas de compte requis.
A-t-il besoin d’une connexion internet ? Non. L’OCR, l’étiquetage et la recherche tournent tous en local. La seule raison de sortir de votre réseau est un module IA optionnel pointé vers une API cloud plutôt qu’un modèle local.
Peut-il lire de l’écriture manuscrite ? Pas de façon fiable, en tout cas pas avec l’OCR intégrée basée sur Tesseract. Les modules d’OCR à base de LLM font sensiblement mieux sur l’écriture manuscrite et les tickets de caisse abîmés, au prix d’une configuration supplémentaire.
La documentation officielle vit sur docs.paperless-ngx.com, le code source et la licence sont sur GitHub, et une démo publique (identifiant demo/demo) est disponible sur demo.paperless-ngx.com si vous voulez tester avant d’engager un serveur dessus. Pour le choix du matériel derrière cette instance et le reste de vos services auto-hébergés, direction notre guide de configuration homelab pour débutants.