paperless_ngx.paperless_ngx
Statut | Événement |
---|---|
Programme hebdomadaire | |
Dernière PR |
Rôle Ansible : paperless_ngx
Installe et configure le système de gestion des documents électroniques (EDMS) paperless-ngx.
- [Variables du rôle](#Variablesdu rôle)
1. Exigences
1.1. Ansible
ansible_version_minimum: "2.12"
ou plus récent est requis.
Les collections Ansible suivantes doivent être installées (via ansible-galaxy collection install
)
- community.general
- ansible.posix
1.2. <a name='Systèmesd'exploitation'>Systèmes d'exploitation pris en charge
- Debian (>=11)
- Ubuntu (>=focal)
2. Variables du rôle
La plupart des variables de configuration de paperless-ngx sont disponibles et acceptent leurs arguments respectifs. Chaque variable de configuration PAPERLESS_*
est mise en minuscules et préfixée par paperless_ngx_conf_*
dans defaults/main.yml
.
Pour une liste complète incluant des explications et des valeurs autorisées, consultez la documentation actuelle ici.
Les sections suivantes sont divisées en :
- Variables spécifiques au rôle
- Variables de configuration d'origine de paperless-ngx
2.1. Variables spécifiques au rôle
Nom | Valeur par défaut | Description |
---|---|---|
paperless_ngx_db_type |
sqlite | Les types de base de données disponibles sont sqlite et postgresql. Si postgresql est choisi, d'autres variables db_ doivent être configurées. |
paperless_ngx_dependency_install_tmp_dir |
/tmp/ | Répertoire pour les fichiers d'installation temporaires de dépendances |
paperless_ngx_dir_force_permission_exclude |
[] | Quels répertoires doivent être exclus de la vérification/du paramétrage des permissions. Voir documentation. |
paperless_ngx_dir_installation |
/opt/paperless-ngx | Le répertoire où les fichiers d'installation statiques de paperless-ngx sont écrits. |
paperless_ngx_dir_python |
/opt/python/{{ paperless_ngx_python_version_short }} | Le répertoire où les binaires Python sont compilés. |
paperless_ngx_dir_runtime_data |
/var/lib/paperless-ngx | Le répertoire où les données d'exécution seront stockées. |
paperless_ngx_dir_virtualenv |
"{{ paperless_ngx_dir_installation }}/.venv" | Le répertoire pour le venv Python nécessaire. |
paperless_ngx_jbig2enc_enabled |
true | Indique si jbig2enc doit être installé et utilisé pour OCRmyPDF. |
paperless_ngx_jbig2enc_lossy |
false | Exécuter jbig2enc en mode avec perte ou non. |
paperless_ngx_jbig2enc_version |
0.29 | Quelle version installer. |
paperless_ngx_redis_host |
localhost | Hôte Redis |
paperless_ngx_redis_port |
6379 | Port Redis |
paperless_ngx_system_group |
paperlessngx | Le groupe auquel appartient l'utilisateur système. |
paperless_ngx_system_user |
paperlessngx | L'utilisateur qui exécutera les services et possédera les données. |
paperless_ngx_system_user_additional_groups |
[] | Ajouter éventuellement l'utilisateur système à d'autres groupes. Par exemple, pour lire les certificats TLS que peut lire le groupe ssl-cert . |
paperless_ngx_version |
latest | Version du logiciel à installer. Utilisez latest ou une version spécifique au format '2.0.0' . Seules les versions paperless_ngx_version_minimum: '2.0.0' et supérieures sont prises en charge. |
|
2.2. Variables de configuration de Paperless-ngx
Toutes les variables à venir correspondent aux variables de docs paperless-ngx. La liste suivante de variables est triée par ordre alphabétique pour faciliter la maintenance de ce rôle. Dans la documentation officielle, celles-ci sont affectées à des catégories correspondantes.
Pour gagner de la place, quelques abréviations sont utilisées dans le tableau ci-dessous :
- I - Implémenté dans ce rôle ? [O/N]
- O - La variable doit-elle être remplacée ? [O/N] Si Non, elle ne doit pas être modifiée.
- H - Indice
- V - Version de paperless-ngx qui a introduit cette variable.
Nom | Valeur par défaut | I | O | H | V |
---|---|---|---|---|---|
paperless_ngx_conf_account_allow_signups |
false | O | O | 2.5 | |
paperless_ngx_conf_account_default_http_protocol |
https | O | O | 2.5 | |
paperless_ngx_conf_account_email_verification |
optional | O | O | 2.6 | |
paperless_ngx_conf_account_session_remember |
false | O | O | 2.7 | |
paperless_ngx_conf_admin_mail |
root@localhost | O | O | ||
paperless_ngx_conf_admin_password |
O | O | Le mot de passe superutilisateur. Si non défini par l'utilisateur, un mot de passe aléatoire sera généré. -> voir section sur les mots de passe ci-dessous. | ||
paperless_ngx_conf_admin_user |
admin | O | O | ||
paperless_ngx_conf_allowed_hosts |
"*" | O | O | ||
paperless_ngx_conf_app_logo |
None | O | O | 2.4 | |
paperless_ngx_conf_app_title |
None | O | O | 2.4 | |
paperless_ngx_conf_apps |
None | O | O | 2.5 | |
paperless_ngx_conf_audit_log_enabled |
false | O | O | 2.0 | |
paperless_ngx_conf_auto_login_username |
"" | O | O | ||
paperless_ngx_conf_bind_addr |
"[::]" | O | O | ||
paperless_ngx_conf_consumer_asn_barcode_prefix |
ASN | O | O | 1.12 | |
paperless_ngx_conf_consumer_collate_double_sided_subdir_name |
"double-sided" | O | O | 1.17 | |
paperless_ngx_conf_consumer_collate_double_sided_tiff_support |
false | O | O | 1.17 | |
paperless_ngx_conf_consumer_barcode_dpi |
300 | O | O | 1.16 | |
paperless_ngx_conf_consumer_barcode_scanner |
"PYZBAR" | O | O | 1.14 | |
paperless_ngx_conf_consumer_barcode_string |
'PATCHT' | O | O | ||
paperless_ngx_conf_consumer_barcode_tiff_support |
false | O | O | ||
paperless_ngx_conf_consumer_barcode_upscale |
0.0 | O | O | 1.16 | |
paperless_ngx_conf_consumer_delete_duplicates |
false | O | O | ||
paperless_ngx_conf_consumer_enable_asn_barcode |
false | O | O | 1.12 | |
paperless_ngx_conf_consumer_enable_barcodes |
false | O | O | ||
paperless_ngx_conf_consumer_enable_collate_double_sided |
false | O | O | 1.17 | |
paperless_ngx_conf_consumer_enable_tag_barcode |
false | O | O | 2.5 | |
paperless_ngx_conf_consumer_ignore_patterns |
[".DS_STORE/", "._", ".stfolder/", ".stversions/", ".localized/*", "desktop.ini"] | O | O | ||
paperless_ngx_conf_consumer_inotify_delay |
0.5 | O | O | ||
paperless_ngx_conf_consumer_polling_delay |
5 | O | O | ||
paperless_ngx_conf_consumer_polling_retry_count |
5 | O | O | ||
paperless_ngx_conf_consumer_polling |
0 | O | O | ||
paperless_ngx_conf_consumer_recursive |
false | O | O | ||
paperless_ngx_conf_consumer_subdirs_as_tags |
false | O | O | ||
paperless_ngx_conf_consumer_tag_barcode_mapping |
'{"TAG:(.*)": "\\g<1>"}' | O | O | 2.5 | |
paperless_ngx_conf_consumption_dir |
"{{ paperless_ngx_dir_runtime_data }}/consumption" | O | O | ||
paperless_ngx_conf_convert_binary |
convert | O | O | ||
paperless_ngx_conf_convert_memory_limit |
0 | O | O | ||
paperless_ngx_conf_convert_tmpdir |
"" | O | O | ||
paperless_ngx_conf_cookie_prefix |
"" | O | O | ||
paperless_ngx_conf_cors_allowed_hosts |
http://localhost:8000 | O | O | ||
paperless_ngx_conf_csrf_trusted_origins |
O | O | |||
paperless_ngx_conf_data_dir |
"{{ paperless_ngx_dir_runtime_data }}/data" | O | O | ||
paperless_ngx_conf_date_order |
"DMY" | O | O | ||
paperless_ngx_conf_db_timeout |
O | O | |||
paperless_ngx_conf_dbengine |
O | N | Non utilisé par le rôle | ||
paperless_ngx_conf_dbhost |
localhost | O | O | ||
paperless_ngx_conf_dbname |
paperlessngx | O | O | ||
paperless_ngx_conf_dbpass |
"" | O | O | Le mot de passe de la base de données. Si non défini par l'utilisateur, un mot de passe aléatoire sera généré. -> voir section sur les mots de passe ci-dessous. | |
paperless_ngx_conf_dbport |
5432 | O | O | ||
paperless_ngx_conf_dbsslcert |
None | O | O | 1.14 | |
paperless_ngx_conf_dbsslkey |
None | O | O | 1.14 | |
paperless_ngx_conf_dbsslmode |
prefer | O | O | ||
paperless_ngx_conf_dbsslrootcert |
None | O | O | 1.14 | |
paperless_ngx_conf_dbuser |
paperlessngx | O | O | ||
paperless_ngx_conf_disable_regular_login |
false | O | O | 2.6 | |
paperless_ngx_conf_email_certificate_location |
None | O | O | 1.17 | |
paperless_ngx_conf_email_from |
{{ paperless_ngx_conf_email_host_user }} | O | O | 2.0 | |
paperless_ngx_conf_email_host |
"localhost" | O | O | 2.0 | |
paperless_ngx_conf_email_host_user |
"" | O | O | 2.0 | |
paperless_ngx_conf_email_host_password |
"" | O | O | 2.0 | |
paperless_ngx_conf_email_port |
25 | O | O | 2.0 | |
paperless_ngx_conf_email_task_cron |
"*/10 * * * *" | O | O | 1.12 | |
paperless_ngx_conf_email_use_ssl |
false | O | O | 2.0 | |
paperless_ngx_conf_email_use_tls |
false | O | O | 2.0 | |
paperless_ngx_conf_empty_trash_delay |
30 | O | O | 2.10 | |
paperless_ngx_conf_empty_trash_dir |
"{{ paperless_ngx_dir_runtime_data }}/trash" | O | O | 2.10 | |
paperless_ngx_conf_empty_trash_task_cron |
"0 1 * * *" | O | O | 2.10 | |
paperless_ngx_conf_enable_compression |
true | O | O | 1.13 | |
paperless_ngx_conf_enable_flower |
false | O | O | Indique si flower doit être démarré ou non. Voir utiliser flower pour plus d'informations | 1.10 |
paperless_ngx_conf_enable_http_remote_user |
false | O | O | ||
paperless_ngx_conf_enable_http_remote_user_api |
false | O | O | 2.5 | |
paperless_ngx_conf_enable_nltk |
1 | O | O | 1.11 | |
paperless_ngx_conf_enable_update_check |
O | O | Sera retiré à l'avenir | ||
paperless_ngx_conf_filename_date_order |
"" | O | O | ||
paperless_ngx_conf_filename_format_remove_none |
false | O | O | ||
paperless_ngx_conf_filename_format |
"" | O | O | ||
paperless_ngx_conf_force_script_name |
"" | O | O | ||
paperless_ngx_conf_gs_binary |
gs | O | O | ||
paperless_ngx_conf_http_remote_user_header_name |
HTTP_REMOTE_USER | O | O | ||
paperless_ngx_conf_ignore_dates |
"" | O | O | ||
paperless_ngx_conf_index_task_cron |
"0 0 * * *" | O | O | 1.12 | |
paperless_ngx_conf_logging_dir |
"{{ paperless_ngx_dir_runtime_data }}/log" | ||||
paperless_ngx_conf_logout_redirect_url |
O | O | |||
paperless_ngx_conf_logrotate_max_backups |
20 | O | O | ||
paperless_ngx_conf_logrotate_max_size |
1024 * 1024 | O | O | ||
paperless_ngx_conf_max_image_pixels |
None | O | O | 2.6 | |
paperless_ngx_conf_media_root |
"{{ paperless_ngx_dir_runtime_data }}/media" | O | O | ||
paperless_ngx_conf_model_file |
"{{ paperless_ngx_conf_data_dir }}/classification_model.pickle" | O | O | 2.9 | |
paperless_ngx_conf_nltk_dir |
/usr/share/nltk_data | O | O | 1.11 | |
paperless_ngx_conf_number_of_suggested_dates |
3 | O | O | ||
paperless_ngx_conf_ocr_clean |
clean | O | O | ||
paperless_ngx_conf_ocr_color_conversion_strategy |
"RGB" | O | O | 2.1 | |
paperless_ngx_conf_ocr_deskew |
true | O | O | ||
paperless_ngx_conf_ocr_image_dpi |
"" | O | O | ||
paperless_ngx_conf_ocr_language |
eng | O | O | ||
paperless_ngx_conf_ocr_languages |
[eng,deu,fra,ita,spa] | O | O | ||
paperless_ngx_conf_ocr_max_image_pixels |
O | O | |||
paperless_ngx_conf_ocr_mode |
skip | O | O | ||
paperless_ngx_conf_ocr_output_type |
pdfa | O | O | ||
paperless_ngx_conf_ocr_pages |
0 | O | O | ||
paperless_ngx_conf_ocr_rotate_pages_threshold |
12 | O | O | ||
paperless_ngx_conf_ocr_rotate_pages |
true | O | O | ||
paperless_ngx_conf_ocr_skip_archive_file |
"never" | O | O | 1.14 | |
paperless_ngx_conf_ocr_user_args |
[optimize=1] | O | O | ||
paperless_ngx_conf_port |
8000 | O | O | ||
paperless_ngx_conf_post_consume_script |
"" | O | O | ||
paperless_ngx_conf_pre_consume_script |
"" | O | O | ||
paperless_ngx_conf_proxy_ssl_header |
None | O | O | 1.14 | |
paperless_ngx_conf_redis |
redis://{{ paperless_ngx_redis_host }}:{{ paperless_ngx_redis_port }} | O | N | ||
paperless_ngx_conf_redis_prefix |
"" | O | O | 1.17 | |
paperless_ngx_conf_sanity_task_cron |
"30 0 * * sun" | O | O | 1.12 | |
paperless_ngx_conf_secret_key |
"" | O | O | Si non défini par l'utilisateur, un mot de passe aléatoire sera généré. -> voir section sur les mots de passe ci-dessous. | |
paperless_ngx_conf_social_auto_signup |
false | O | O | 2.5 | |
paperless_ngx_conf_socialaccount_allow_signups |
true | O | O | 2.5 | |
paperless_ngx_conf_socialaccount_providers |
"{}" | O | O | 2.5 | |
paperless_ngx_conf_static_url |
/static/ | O | O | ||
paperless_ngx_conf_staticdir |
../static | O | N | ||
paperless_ngx_conf_supervisord_working_dir |
None | O | O | 2.5 | |
paperless_ngx_conf_task_workers |
1 | O | O | ||
paperless_ngx_conf_threads_per_worker |
paperless_ngx_conf_task_workers | O | O | ||
paperless_ngx_conf_thumbnail_font_name |
/usr/share/fonts/liberation/LiberationSerif-Regular.ttf | O | O | ||
paperless_ngx_conf_tika_enabled |
false | O | O | ||
paperless_ngx_conf_tika_endpoint |
http://localhost:9998 | O | O | ||
paperless_ngx_conf_tika_gotenberg_endpoint |
http://localhost:3000 | O | O | ||
paperless_ngx_conf_time_zone |
Europe/London | O | O | ||
paperless_ngx_conf_train_task_cron |
"5 */1 * * *" | O | O | 1.12 | |
paperless_ngx_conf_trusted_proxies |
"" | O | O | 1.14 | |
paperless_ngx_conf_url |
http://localhost:8000 | O | O | ||
paperless_ngx_conf_use_x_forward_host |
False | O | O | 1.14 | |
paperless_ngx_conf_use_x_forward_port |
False | O | O | 1.14 | |
paperless_ngx_conf_usermap_gid |
O | O | GID des utilisateurs système | ||
paperless_ngx_conf_usermap_uid |
O | O | UID des utilisateurs système | ||
paperless_ngx_conf_webserver_workers |
1 | O | O | ||
paperless_ngx_conf_worker_timeout |
1800 | O | O | ||
|
3. <a name='Conseilsd'utilisation'>Conseils d'utilisation
3.1. Mise à jour de Paperless-ngx
Si vous avez installé Paperless-ngx avec l'aide de ce rôle et que vous souhaitez le mettre à jour vers une version plus récente, il vous suffit de relancer ce rôle (si vous avez choisi latest
comme identifiant de version). Si vous avez spécifié une version spécifique à installer, il suffit de changer cette valeur pour une version plus récente et de relancer le rôle.
Ce rôle ne mettra à jour rien d'autre que Paperless-ngx. Les mises à jour du système d'exploitation et des packages dépendants doivent être gérées séparément.
VEUILLEZ PENSER AUX SAUVEGARDES avant de mettre à niveau.
3.2. Sauvegarde/Restauration
Veuillez être conscient que ce rôle n'offre aucun mécanisme de sauvegarde ou de restauration. C'est volontaire. Pour séparer les préoccupations, ce rôle est uniquement axé sur le 'déploiement' des artefacts logiciels et de leur configuration. Un exemple de stratégie de sauvegarde efficace peut être trouvé ici : Lien vers un exemple de stratégie de sauvegarde
3.3. Mot de passe généré
Le rôle utilise la recherche de mot de passe d'Ansible :
- Si un mot de passe est généré par le rôle, Ansible le stocke localement dans pngx_instances/{{ inventaire_hostname }}/ (relatif au répertoire de travail)
- si le fichier existe déjà, il réutilise son contenu
- consultez la documentation de recherche de mot de passe d'Ansible pour plus d'infos
3.4. Séparation des données statiques (~ installation) et dynamiques (~ runtime)
Ce rôle vérifie que vous ne définissez pas l'un des répertoires de données (comme la consommation, etc.) comme un sous-répertoire du chemin d'installation. Pour vous faciliter la vie, ce rôle supprime le dossier d'installation et en crée un nouveau complet lors de la mise à niveau. C'est frais et propre. De cette façon, vous êtes également protégés des suppressions indésirables de vos données lors des mises à niveau.
3.5. Utilisation de PostgreSQL
Si vous souhaitez utiliser Paperless-ngx avec PostgreSQL, une instance en cours d'exécution de PostgreSQL est nécessaire. Ce rôle n'installe pas automatiquement une telle instance de base de données pour vous. Cependant, vous pouvez lire un exemple de mise en place d'une telle instance à partir de zéro : Lien vers un playbook d'exemple
4. Dépendances
Aucune dépendance
5. Exemples de playbooks
minimal_runnable_playbook.yml
:
- hosts: all
roles:
- { role: paperless_ngx.paperless_ngx }
vars:
var1:
var2:
...
6. Contributions
Nous vous encourageons à contribuer à ce rôle ! Veuillez consulter le guide de contribution pour des directives sur la manière de procéder.
7. Licence
MIT
ansible-galaxy install paperless_ngx.paperless_ngx