--- title: Paperless-ngx created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, document-management, ged, ocr, python, django, postgresql] confidence: high contested: false sources: [https://selfh.st/apps/?tag=document-management, https://github.com/paperless-ngx/paperless-ngx, https://docs.paperless-ngx.com/] --- # Paperless-ngx 📚 > Système de **gestion électronique de documents (GED)** grand public : scannez, classez, taguez et retrouvez tous vos papiers (factures, contrats, courriers) via une recherche full-text dopée à l'OCR. | Métadonnée | Valeur | | :--- | :--- | | **Site web** | https://docs.paperless-ngx.com/ | | **GitHub** | https://github.com/paperless-ngx/paperless-ngx | | **License** | GPL-3.0 | | **Langage** | Python / Django (frontend Alpine.js) | | **Étoiles** | ⭐2796 | | **Dernière MAJ** | 2026-05-29 | | **Catégorie** | [[cat-document-management]] | ## Description Paperless-ngx est le **fork communautaire actif** de Paperless (arrêté en 2020), devenu la référence de la GED personnelle auto-hébergeable. Le principe est simple : vous déposez vos scans (PDF, images, fichiers Office) dans un dossier `consume/`, Paperless applique **l'OCR** (Tesseract) pour extraire le texte, détecte automatiquement les **métadonnées** (date, montant, expéditeur, type de document) et **range** le document dans une arborescence de correspondants/tags. Tout est indexé et **recherchable en full-text**. L'**interface web** offre une vue type « boîte de réception » (à la Gmail), avec filtres avancés (type, date, tag, correspondant, montant), aperçus PDF, et un système de **workflows** (statut, partage, partage de liens publics). Le **machine learning** apprend de vos classements manuels pour suggérer automatiquement le bon tag/correspondant sur les nouveaux documents. L'**OCR allemand** est très bon (le projet est né en Allemagne), le français fonctionne correctement avec les bons modèles. L'écosystème comprend un **client mobile** (Paperless Mobile, Flutter, F-Droid), des **intégrations** avec Nextcloud, Synology, scanners Fujitsu SnapScan, et un **consumer d'email** (IMAP) pour importer automatiquement les pièces jointes. C'est l'une des apps les plus installées en homelab, avec une communauté très active et un Wiki/RFC bien fourni. Attention : c'est une app « lourde » (PostgreSQL + Redis + Python), prévoir 1-2 Go de RAM minimum. ## Installation ### Via Docker Compose (recommandé) ```yaml # docker-compose.yml services: paperless: image: ghcr.io/paperless-ngx/paperless-ngx:latest container_name: paperless-ngx restart: unless-stopped ports: - "8000:8000" volumes: - paperless-data:/usr/src/paperless/data - paperless-media:/usr/src/paperless/media - paperless-consume:/usr/src/paperless/consume - paperless-export:/usr/src/paperless/export environment: - PAPERLESS_REDIS=redis://broker:6379 - PAPERLESS_DBHOST=db - PAPERLESS_DBNAME=paperless - PAPERLESS_DBUSER=paperless - PAPERLESS_DBPASS=ChangeMeDbPass! - PAPERLESS_SECRET_KEY=ChangeMeSecretKey! - PAPERLESS_URL=https://docs.example.com - PAPERLESS_TIME_ZONE=Europe/Paris - PAPERLESS_OCR_LANGUAGE=fra+eng - PAPERLESS_OCR_MODE=skip_noarchive depends_on: - db - broker healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/"] interval: 30s timeout: 10s retries: 3 db: image: postgres:16-alpine container_name: paperless-db restart: unless-stopped environment: - POSTGRES_DB=paperless - POSTGRES_USER=paperless - POSTGRES_PASSWORD=ChangeMeDbPass! volumes: - paperless-db:/var/lib/postgresql/data broker: image: redis:7-alpine container_name: paperless-redis restart: unless-stopped volumes: paperless-data: paperless-media: paperless-consume: paperless-export: paperless-db: ``` > **Note** : ajouter `gotenberg` et `tika` comme services additionnels permet de générer des aperçus de documents Office et PDF en HTML (cf. [doc officielle](https://docs.paperless-ngx.com/configuration/#optional-dependencies)). ### Installation manuelle 1. **Pré-requis** : Python 3.11+, PostgreSQL 13+, Redis 6+, Tesseract OCR (`tesseract-ocr tesseract-ocr-fra tesseract-ocr-eng`), ImageMagick, Ghostscript, libpoppler, Java (pour Tika). 2. **Installation** : `pip install paperless-ngx` (paquet PyPI). 3. **Initialisation** : `paperless-manage migrate && paperless-manage createsuperuser`. 4. **Consommateur** : `paperless-consumer` à mettre en cron ou systemd. 5. **Web** : `gunicorn -w 3 paperless.wsgi` derrière Nginx. ## Configuration - **Premier admin** : créer via `paperless-manage createsuperuser` (ou via l'UI au premier lancement). - **Correspondants/Tags/Types** : créer l'arborescence AVANT d'importer en masse (sinon tout finit en « sans catégorie »). - **Workflows** : configurer les règles auto-classement dans Settings → Workflows (exemple : « si texte contient 'EDF' → tag Énergie, correspondant EDF »). - **ML** : après 50+ documents classifiés manuellement, Paperless commence à suggérer (Settings → Machine Learning). - **Dossier consume** : monter un partage SMB/NFS depuis votre scanner ou utiliser le scan-to-mail. - **Backups** : 4 dossiers critiques → `data/` (DB SQLite historique ou non utilisé si Postgres), `media/` (originaux), `db/` (dump Postgres), `export/` (archive). - **HTTPS** : obligatoire, via Traefik/Caddy. - **Reverse proxy** : bien gérer les `client_max_body_size` (uploads PDF jusqu'à 100 Mo). ## Alternatives ### Open Source - [[app-mayan-edms]] — EDMS Python avec workflows, plus « entreprise » - [[app-papermerge]] — concurrent direct, UI plus moderne (Django + Vue) - [[app-papra]] — alternative moderne minimaliste (TypeScript) - [[app-docspell]] — scanner/OCR Scala, axé « zéro-effort » - [[app-teedy]] (Sismics Docs) — GED légère Java - [[app-archivebox]] — archivage web (pas vraiment GED) - **OpenKM** — EDMS Java enterprise - **Alfresco Community** — GED enterprise complète (lourd) ### Propriétaires - **Evernote** / **Notion** — prise de notes, pas vraiment GED - **Google Drive + OCR** — cloud Google, OCR limité - **Dropbox + HelloSign** — cloud freemium - **Adobe Scan** — mobile, OCR cloud Adobe - **1Password Documents** — pour quelques documents sensibles - **Evernote Scannable** (iOS) — scan mobile, cloud ## Sécurité - **Chiffrement at-rest** : monter les volumes Paperless sur un disque LUKS ou activer le chiffrement ZFS. - **HTTPS obligatoire** + HSTS via reverse proxy. - **Authentification** : compte admin unique, pas de SSO natif (compter sur Authelia/Authentik via reverse proxy). - **Permissions fines** : groupes d'utilisateurs (admin, utilisateur) — non encore au niveau LDAP complet. - **Secrets** : `PAPERLESS_SECRET_KEY` doit être long et aléatoire (utiliser `openssl rand -hex 32`). - **Mise à jour** : suivre les releases GitHub (canal stable), les CVE Django/Pillow sont rares mais possibles. - **Logs** : `paperless-manage changelog` (audit) + logs Django standards. - **Isolation réseau** : exposer Paperless uniquement via VPN ou reverse proxy authentifié, jamais en direct sur Internet. - **Backups testés** : un Paperless corrompu = 10 ans de documents perdus, tester régulièrement la restauration. ## Ressources - Documentation officielle : https://docs.paperless-ngx.com/ - GitHub : https://github.com/paperless-ngx/paperless-ngx - Wiki communautaire : https://github.com/paperless-ngx/paperless-ngx/wiki - Discord : https://discord.gg/paperless - selfh.st : https://selfh.st/apps/?tag=document-management - r/PaperlessNGX : https://reddit.com/r/PaperlessNGX ## Pages Liées - [[cat-document-management]] — catégorie parente - [[app-mayan-edms]] — alternative enterprise - [[app-papermerge]] — concurrent moderne - [[app-papra]] — alternative TS minimaliste - [[app-stirling-pdf]] — outil PDF complémentaire (post-traitement) - [[recettes-docker-compose]] — templates de déploiement - [[securisation-home-lab]] — bonnes pratiques sécurité - [[strategie-backup-3-2-1]] — crucial pour une GED