Paperless-ngx - Document Management System
URL: https://paperless.srv759970.hstgr.cloud Container: paperless-ngx Stack: Paperless-ngx + PostgreSQL + Redis + Tika
Vue d'Ensemble
Paperless-ngx est un système de gestion documentaire intelligent qui numérise, indexe et organise automatiquement vos documents papier et numériques.
Fonctionnalités Principales
- 📄 Numérisation intelligente - Import automatique depuis scanners, email, FTP
- 🔍 OCR avancé - Reconnaissance de texte avec Tesseract + Apache Tika
- 🏷️ Auto-tagging - Classification automatique par machine learning
- 📊 Correspondants & Types - Organisation par expéditeur/destinataire et catégories
- 🔐 Chiffrement - Stockage sécurisé des documents sensibles
- 📱 Interface moderne - UI responsive Angular avec dark mode
- 🔎 Recherche full-text - Indexation complète avec filtres avancés
- 📧 Import email - Consommation automatique depuis boîtes mail IMAP
Architecture
┌─────────────────────────────────────────────┐
│ Paperless-ngx Frontend │
│ (Angular SPA - Port 8000) │
└─────────────────┬───────────────────────────┘
│
┌─────────────┴──────────────┐
│ │
┌───▼────────┐ ┌────────▼─────┐
│ PostgreSQL │ │ Redis │
│ Database │ │ Cache │
└────────────┘ └──────────────┘
│
┌───────────┴──────────┐
│ │
┌─────▼─────┐ ┌──────▼──────┐
│ Tika │ │ Gotenberg │
│ (OCR/Parse)│ │ (PDF) │
└───────────┘ └─────────────┘
Configuration
Variables d'Environnement
environment:
- PAPERLESS_REDIS=redis://redis:6379
- PAPERLESS_DBHOST=db
- PAPERLESS_DBNAME=paperless
- PAPERLESS_DBUSER=paperless
- PAPERLESS_DBPASS=<password>
- PAPERLESS_TIKA_ENABLED=1
- PAPERLESS_TIKA_ENDPOINT=http://tika:9998
- PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://gotenberg:3000
- PAPERLESS_OCR_LANGUAGE=fra+eng
- PAPERLESS_TIME_ZONE=Europe/Paris
- PAPERLESS_ADMIN_USER=admin
- PAPERLESS_URL=https://paperless.srv759970.hstgr.cloud
Volumes
volumes:
- /opt/paperless/data:/usr/src/paperless/data
- /opt/paperless/media:/usr/src/paperless/media
- /opt/paperless/export:/usr/src/paperless/export
- /opt/paperless/consume:/usr/src/paperless/consume
Utilisation
Import de Documents
1. Via Interface Web - Glisser-déposer dans l'interface - Upload multiple supporté
2. Via Dossier de Consommation
# Copier documents dans le dossier consume
cp document.pdf /opt/paperless/consume/
# Paperless détecte et traite automatiquement
3. Via Email
Workflow de Traitement
- OCR/Parsing - Extraction texte via Tesseract + Tika
- Classification - Détection automatique du type de document
- Tagging - Application des tags par règles ou ML
- Indexation - Ajout au moteur de recherche full-text
- Archivage - Stockage sécurisé avec versioning
Recherche Avancée
Syntaxe de recherche:
# Recherche simple
facture edf
# Avec tags
tag:facture tag:edf
# Avec correspondant
correspondent:edf
# Par date
created:[2024-01-01 to 2024-12-31]
# Combinaison
tag:facture correspondent:edf created:[2024-01-01 to *]
Intégrations
Apache Tika
Paperless utilise Tika pour: - Parsing de formats complexes (Office, iWork, etc.) - OCR avancé pour images et PDF scannés - Extraction de métadonnées
Endpoint Tika: http://tika.srv759970.hstgr.cloud
Gotenberg
Service de conversion PDF pour: - Génération de previews - Conversion Office → PDF - Fusion de documents
Redis
Cache pour: - Sessions utilisateurs - Résultats de recherche - Tasks Celery (processing asynchrone)
API
Documentation
Swagger UI: https://paperless.srv759970.hstgr.cloud/api/docs/
Endpoints Principaux
# Authentification
POST /api/token/
POST /api/token/refresh/
# Documents
GET /api/documents/
GET /api/documents/{id}/
POST /api/documents/
DELETE /api/documents/{id}/
# Téléchargement
GET /api/documents/{id}/download/
GET /api/documents/{id}/preview/
# Recherche
GET /api/documents/?query=facture&tags__id__in=1,2
# Tags
GET /api/tags/
POST /api/tags/
# Correspondants
GET /api/correspondents/
POST /api/correspondents/
Exemple d'Utilisation
# Obtenir un token
TOKEN=$(curl -X POST https://paperless.srv759970.hstgr.cloud/api/token/ \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"<password>"}' \
| jq -r .access)
# Lister les documents
curl https://paperless.srv759970.hstgr.cloud/api/documents/ \
-H "Authorization: Bearer $TOKEN"
# Upload d'un document
curl -X POST https://paperless.srv759970.hstgr.cloud/api/documents/post_document/ \
-H "Authorization: Bearer $TOKEN" \
-F "document=@facture.pdf" \
-F "title=Facture EDF Janvier 2024"
Administration
Accès Admin
URL: https://paperless.srv759970.hstgr.cloud/admin/ Username: admin Password: Voir /opt/paperless/.env
Commandes de Gestion
# Accéder au container
docker exec -it paperless-ngx bash
# Créer un superuser
docker exec -it paperless-ngx python3 manage.py createsuperuser
# Re-indexer tous les documents
docker exec -it paperless-ngx python3 manage.py document_index reindex
# Lancer OCR sur documents existants
docker exec -it paperless-ngx python3 manage.py document_retagger --tags
# Backup
docker exec -it paperless-ngx python3 manage.py document_exporter /export/backup/
Maintenance
Nettoyage des vignettes:
Vérification de l'index:
Sécurité
Protection
- ✅ HTTPS - Let's Encrypt SSL/TLS
- ✅ Authentification - Comptes utilisateurs avec permissions
- ✅ Basic Auth Nginx - Protection supplémentaire au niveau proxy
- ✅ CORS - Configuré pour l'API
Recommandations
- ✅ Activer 2FA pour les comptes admin
- ✅ Rotation régulière des tokens API
- ✅ Limiter les permissions par utilisateur
- ✅ Chiffrer les documents sensibles
Troubleshooting
Les Documents ne Sont pas Traités
Vérifier les workers:
docker logs paperless-ngx | grep celery
docker exec -it paperless-ngx celery -A paperless inspect active
Vérifier la queue:
OCR Échoue
Vérifier Tika:
Vérifier les logs OCR:
Problèmes de Performance
Augmenter les workers:
Monitoring
Métriques
- Documents totaux
- Documents traités aujourd'hui
- Queue size
- Temps moyen de traitement
- Espace disque utilisé
Logs
# Logs temps réel
docker logs -f paperless-ngx
# Logs Celery
docker logs paperless-ngx | grep celery
# Logs OCR
docker logs paperless-ngx | grep tesseract
Voir Aussi
- Apache Tika - Service de parsing utilisé par Paperless
- Monitoring - Stack Grafana + Prometheus
- Infrastructure > Backup
Liens Externes
- Documentation officielle: https://docs.paperless-ngx.com/
- GitHub: https://github.com/paperless-ngx/paperless-ngx
- Forum: https://github.com/paperless-ngx/paperless-ngx/discussions
Dernière mise à jour: 2025-10-23 Prochaine révision: Après optimisation OCR