mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	Merge pull request #353 from C0nsultant/ansible-0.9.14
Ansible - Update to 0.9.14
This commit is contained in:
		| @@ -1,5 +1,19 @@ | |||||||
| --- | --- | ||||||
| paperlessng_version: 0.9.13 | paperlessng_version: 0.9.14 | ||||||
|  |  | ||||||
|  | # Required services | ||||||
|  | paperlessng_redis_host: localhost | ||||||
|  | paperlessng_redis_port: 6379 | ||||||
|  | paperlessng_db_type: sqlite # or postgresql | ||||||
|  | # Below entries only apply for paperlessng_db_type=='postgresql' | ||||||
|  | paperlessng_db_host: localhost | ||||||
|  | paperlessng_db_port: 5432 | ||||||
|  | paperlessng_db_name: paperlessng | ||||||
|  | paperlessng_db_user: paperlessng | ||||||
|  | paperlessng_db_pass: paperlessng | ||||||
|  | paperlessng_db_sslmode: prefer | ||||||
|  |  | ||||||
|  | # Paths and folders | ||||||
| paperlessng_directory: /opt/paperless-ng | paperlessng_directory: /opt/paperless-ng | ||||||
| paperlessng_consumption_dir: "{{ paperlessng_directory }}/consumption" | paperlessng_consumption_dir: "{{ paperlessng_directory }}/consumption" | ||||||
| paperlessng_data_dir: "{{ paperlessng_directory }}/data" | paperlessng_data_dir: "{{ paperlessng_directory }}/data" | ||||||
| @@ -8,36 +22,57 @@ paperlessng_static_dir: "{{ paperlessng_directory }}/static" | |||||||
| paperlessng_filename_format: | paperlessng_filename_format: | ||||||
| paperlessng_virtualenv: "{{ paperlessng_directory }}/.venv" | paperlessng_virtualenv: "{{ paperlessng_directory }}/.venv" | ||||||
|  |  | ||||||
|  | # Hosting & Security | ||||||
|  | paperless_secret_key: PLEASECHANGETHISFORTHELOVEOFGOD | ||||||
|  | paperless_allowed_hosts: "*" | ||||||
|  | paperless_cors_allowed_hosts: http://localhost:8000 | ||||||
|  | paperless_force_script_name: | ||||||
|  | paperless_static_url: /static/ | ||||||
|  | paperless_auto_login_username: | ||||||
|  | paperless_cookie_prefix: "" | ||||||
|  | paperless_enable_http_remote_user: False | ||||||
|  |  | ||||||
|  | # OCR settings | ||||||
| paperlessng_ocr_languages: | paperlessng_ocr_languages: | ||||||
|   - eng |   - eng | ||||||
| paperlessng_time_zone: Europe/Berlin | paperlessng_ocr_mode: skip | ||||||
|  | paperlessng_ocr_output_type: pdfa | ||||||
|  | paperlessng_ocr_pages: 0 | ||||||
|  | paperlessng_ocr_image_dpi: | ||||||
| # see https://ocrmypdf.readthedocs.io/en/latest/api.html#ocrmypdf.ocr | # see https://ocrmypdf.readthedocs.io/en/latest/api.html#ocrmypdf.ocr | ||||||
| paperlessng_ocrmypdf_args: | paperlessng_ocr_user_args: | ||||||
|   #- "deskew": true  # https://github.com/jonaswinkler/paperless-ng/issues/231 |   #- "deskew": True  # https://github.com/jonaswinkler/paperless-ng/issues/231 | ||||||
|   - "optimize": 1 |   - "optimize": 1 | ||||||
| paperlessng_use_jbig2enc: true | paperlessng_use_jbig2enc: True | ||||||
| paperlessng_big2enc_lossy: false | paperlessng_big2enc_lossy: False | ||||||
| paperlessng_tika_enabled: false |  | ||||||
|  | # Tika settings | ||||||
|  | paperlessng_tika_enabled: False | ||||||
| paperlessng_tika_endpoint: http://localhost:9998 | paperlessng_tika_endpoint: http://localhost:9998 | ||||||
| paperlessng_tika_gotenberg_endpoint: http://localhost:3000 | paperlessng_tika_gotenberg_endpoint: http://localhost:3000 | ||||||
|  |  | ||||||
|  | # Software tweaks | ||||||
|  | paperlessng_time_zone: Europe/Berlin | ||||||
|  | paperlessng_consumer_polling: 0 | ||||||
|  | paperlessng_consumer_delete_duplicates: False | ||||||
|  | paperlessng_consumer_recursive: False | ||||||
|  | paperlessng_consumer_subdirs_as_tags: False | ||||||
|  | paperlessng_optimize_thumbnails: True | ||||||
|  | paperlessng_post_consume_script: | ||||||
|  | paperlessng_filename_date_order: | ||||||
|  | paperlessng_filename_parse_transforms: | ||||||
|  | paperlessng_thumbnail_font_name: /usr/share/fonts/liberation/LiberationSerif-Regular.ttf | ||||||
|  | paperlessng_ignore_dates: "" | ||||||
|  |  | ||||||
|  | # Superuser settings | ||||||
| paperlessng_superuser_name: paperlessng | paperlessng_superuser_name: paperlessng | ||||||
| paperlessng_superuser_email: paperlessng@example.com | paperlessng_superuser_email: paperlessng@example.com | ||||||
| paperlessng_superuser_password: paperlessng | paperlessng_superuser_password: paperlessng | ||||||
|  |  | ||||||
|  | # System user settings | ||||||
| paperlessng_system_user: paperlessng | paperlessng_system_user: paperlessng | ||||||
| paperlessng_system_group: paperlessng | paperlessng_system_group: paperlessng | ||||||
|  |  | ||||||
|  | # Webserver settings | ||||||
| paperlessng_listen_address: 127.0.0.1 | paperlessng_listen_address: 127.0.0.1 | ||||||
| paperlessng_listen_port: 8000 | paperlessng_listen_port: 8000 | ||||||
|  |  | ||||||
| paperlessng_redis_host: localhost |  | ||||||
| paperlessng_redis_port: 6379 |  | ||||||
|  |  | ||||||
| paperlessng_db_type: sqlite # or postgresql |  | ||||||
| # Below entries only apply for paperlessng_db_type=='postgresql' |  | ||||||
| paperlessng_db_host: localhost |  | ||||||
| paperlessng_db_port: 5432 |  | ||||||
| paperlessng_db_name: paperlessng |  | ||||||
| paperlessng_db_user: paperlessng |  | ||||||
| paperlessng_db_pass: paperlessng |  | ||||||
|   | |||||||
| @@ -9,26 +9,26 @@ | |||||||
|     update_cache: yes |     update_cache: yes | ||||||
|     pkg: |     pkg: | ||||||
|       # paperless-ng |       # paperless-ng | ||||||
|       - python3-dev |  | ||||||
|       - python3-pip |       - python3-pip | ||||||
|       - gettext |       - python3-dev | ||||||
|       - fonts-liberation |       - fonts-liberation | ||||||
|       - imagemagick |       - imagemagick | ||||||
|       - unpaper |  | ||||||
|       - ghostscript |  | ||||||
|       - optipng |       - optipng | ||||||
|       - tesseract-ocr |  | ||||||
|       - gnupg |       - gnupg | ||||||
|       - libpoppler-cpp-dev |       - libpoppler-cpp-dev | ||||||
|       - libmagic-dev |  | ||||||
|       - libpq-dev |       - libpq-dev | ||||||
|  |       - libmagic-dev | ||||||
|  |       - mime-support | ||||||
|       # OCRmyPDF |       # OCRmyPDF | ||||||
|  |       - unpaper | ||||||
|  |       - ghostscript | ||||||
|       - icc-profiles-free |       - icc-profiles-free | ||||||
|       - qpdf |       - qpdf | ||||||
|       - liblept5 |       - liblept5 | ||||||
|       - libxml2 |       - libxml2 | ||||||
|       - pngquant |       - pngquant | ||||||
|       - zlib1g |       - zlib1g | ||||||
|  |       - tesseract-ocr | ||||||
|       # dev |       # dev | ||||||
|       - sudo |       - sudo | ||||||
|       - build-essential |       - build-essential | ||||||
| @@ -154,7 +154,7 @@ | |||||||
|     group: "{{ paperlessng_system_group }}" |     group: "{{ paperlessng_system_group }}" | ||||||
|     mode: "750" |     mode: "750" | ||||||
|   with_items: |   with_items: | ||||||
|     - "{{ paperlessng_directory }}"  # ansible `copy:` does not set correct permissions on `dest:` for recursive copies |     - "{{ paperlessng_directory }}" | ||||||
|     - "{{ paperlessng_consumption_dir }}" |     - "{{ paperlessng_consumption_dir }}" | ||||||
|     - "{{ paperlessng_data_dir }}" |     - "{{ paperlessng_data_dir }}" | ||||||
|     - "{{ paperlessng_media_root }}" |     - "{{ paperlessng_media_root }}" | ||||||
| @@ -171,8 +171,10 @@ | |||||||
|     regexp: "^#?{{ item.regexp }}=" |     regexp: "^#?{{ item.regexp }}=" | ||||||
|     line: "{{ item.line }}" |     line: "{{ item.line }}" | ||||||
|   with_items: |   with_items: | ||||||
|  |     # Required services | ||||||
|     - regexp: PAPERLESS_REDIS |     - regexp: PAPERLESS_REDIS | ||||||
|       line: "PAPERLESS_REDIS=redis://{{ paperlessng_redis_host }}:{{ paperlessng_redis_port }}" |       line: "PAPERLESS_REDIS=redis://{{ paperlessng_redis_host }}:{{ paperlessng_redis_port }}" | ||||||
|  |     # Paths and folders | ||||||
|     - regexp: PAPERLESS_CONSUMPTION_DIR |     - regexp: PAPERLESS_CONSUMPTION_DIR | ||||||
|       line: "PAPERLESS_CONSUMPTION_DIR={{ paperlessng_consumption_dir }}" |       line: "PAPERLESS_CONSUMPTION_DIR={{ paperlessng_consumption_dir }}" | ||||||
|     - regexp: PAPERLESS_DATA_DIR |     - regexp: PAPERLESS_DATA_DIR | ||||||
| @@ -183,26 +185,65 @@ | |||||||
|       line: "PAPERLESS_STATICDIR={{ paperlessng_static_dir }}" |       line: "PAPERLESS_STATICDIR={{ paperlessng_static_dir }}" | ||||||
|     - regexp: PAPERLESS_FILENAME_FORMAT |     - regexp: PAPERLESS_FILENAME_FORMAT | ||||||
|       line: "PAPERLESS_FILENAME_FORMAT={{ paperlessng_filename_format }}" |       line: "PAPERLESS_FILENAME_FORMAT={{ paperlessng_filename_format }}" | ||||||
|  |     # Hosting & Security | ||||||
|  |     - regexp: PAPERLESS_SECRET_KEY | ||||||
|  |       line: "PAPERLESS_SECRET_KEY={{ paperless_secret_key }}" | ||||||
|  |     - regexp: PAPERLESS_ALLOWED_HOSTS | ||||||
|  |       line: "PAPERLESS_ALLOWED_HOSTS={{ paperless_allowed_hosts }}" | ||||||
|  |     - regexp: PAPERLESS_CORS_ALLOWED_HOSTS | ||||||
|  |       line: "PAPERLESS_CORS_ALLOWED_HOSTS={{ paperless_cors_allowed_hosts }}" | ||||||
|  |     - regexp: PAPERLESS_FORCE_SCRIPT_NAME | ||||||
|  |       line: "PAPERLESS_FORCE_SCRIPT_NAME={{ paperless_force_script_name }}" | ||||||
|  |     - regexp: PAPERLESS_STATIC_URL | ||||||
|  |       line: "PAPERLESS_STATIC_URL={{ paperless_static_url }}" | ||||||
|  |     - regexp: PAPERLESS_AUTO_LOGIN_USERNAME | ||||||
|  |       line: "PAPERLESS_AUTO_LOGIN_USERNAME={{ paperless_auto_login_username }}" | ||||||
|  |     - regexp: PAPERLESS_COOKIE_PREFIX | ||||||
|  |       line: "PAPERLESS_COOKIE_PREFIX={{ paperless_cookie_prefix }}" | ||||||
|  |     - regexp: PAPERLESS_ENABLE_HTTP_REMOTE_USER | ||||||
|  |       line: "PAPERLESS_ENABLE_HTTP_REMOTE_USER={{ paperless_enable_http_remote_user }}" | ||||||
|  |     # OCR settings | ||||||
|     - regexp: PAPERLESS_OCR_LANGUAGE |     - regexp: PAPERLESS_OCR_LANGUAGE | ||||||
|       line: "PAPERLESS_OCR_LANGUAGE={{ paperlessng_ocr_languages | join('+') }}" |       line: "PAPERLESS_OCR_LANGUAGE={{ paperlessng_ocr_languages | join('+') }}" | ||||||
|  |     - regexp: PAPERLESS_OCR_MODE | ||||||
|  |       line: "PAPERLESS_OCR_MODE={{ paperlessng_ocr_mode }}" | ||||||
|  |     - regexp: PAPERLESS_OCR_OUTPUT_TYPE | ||||||
|  |       line: "PAPERLESS_OCR_OUTPUT_TYPE={{ paperlessng_ocr_output_type }}" | ||||||
|  |     - regexp: PAPERLESS_OCR_PAGES | ||||||
|  |       line: "PAPERLESS_OCR_PAGES={{ paperlessng_ocr_pages }}" | ||||||
|  |     - regexp: PAPERLESS_OCR_IMAGE_DPI | ||||||
|  |       line: "PAPERLESS_OCR_IMAGE_DPI={{ paperlessng_ocr_image_dpi }}" | ||||||
|     - regexp: PAPERLESS_OCR_USER_ARGS |     - regexp: PAPERLESS_OCR_USER_ARGS | ||||||
|       line: "PAPERLESS_OCR_USER_ARGS={{ paperlessng_ocrmypdf_args | combine({'jbig2_lossy': true} if paperlessng_big2enc_lossy else {}) | to_json }}" |       line: "PAPERLESS_OCR_USER_ARGS={{ paperlessng_ocr_user_args | combine({'jbig2_lossy': true} if paperlessng_big2enc_lossy else {}) | to_json }}" | ||||||
|     - regexp: PAPERLESS_TIME_ZONE |     # Tika settings | ||||||
|       line: "PAPERLESS_TIME_ZONE={{ paperlessng_time_zone }}" |  | ||||||
|     - regexp: PAPERLESS_TIKA_ENABLED |     - regexp: PAPERLESS_TIKA_ENABLED | ||||||
|       line: "PAPERLESS_TIKA_ENABLED={{ paperlessng_tika_enabled }}" |       line: "PAPERLESS_TIKA_ENABLED={{ paperlessng_tika_enabled }}" | ||||||
|   no_log: yes |  | ||||||
|  |  | ||||||
| - name: configure paperless-ng [tika] |  | ||||||
|   lineinfile: |  | ||||||
|     path: "{{ paperlessng_directory }}/paperless.conf.template" |  | ||||||
|     regexp: "^#?{{ item.regexp }}=" |  | ||||||
|     line: "'{{ item.line }}' if paperlessng_tika_enabled else '#{{ item.line }}'" |  | ||||||
|   with_items: |  | ||||||
|     - regexp: PAPERLESS_TIKA_ENDPOINT |     - regexp: PAPERLESS_TIKA_ENDPOINT | ||||||
|       line: "PAPERLESS_TIKA_ENDPOINT={{ paperlessng_tika_endpoint }}" |       line: "PAPERLESS_TIKA_ENDPOINT={{ paperlessng_tika_endpoint }}" | ||||||
|     - regexp: PAPERLESS_TIKA_GOTENBERG_ENDPOINT |     - regexp: PAPERLESS_TIKA_GOTENBERG_ENDPOINT | ||||||
|       line: "PAPERLESS_TIKA_GOTENBERG_ENDPOINT={{ paperlessng_tika_endpoint }}" |       line: "PAPERLESS_TIKA_GOTENBERG_ENDPOINT={{ paperlessng_tika_endpoint }}" | ||||||
|  |     # Software tweaks | ||||||
|  |     - regexp: PAPERLESS_TIME_ZONE | ||||||
|  |       line: "PAPERLESS_TIME_ZONE={{ paperlessng_time_zone }}" | ||||||
|  |     - regexp: PAPERLESS_CONSUMER_POLLING | ||||||
|  |       line: "PAPERLESS_CONSUMER_POLLING={{ paperlessng_consumer_polling }}" | ||||||
|  |     - regexp: PAPERLESS_CONSUMER_DELETE_DUPLICATES | ||||||
|  |       line: "PAPERLESS_CONSUMER_DELETE_DUPLICATES={{ paperlessng_consumer_delete_duplicates }}" | ||||||
|  |     - regexp: PAPERLESS_CONSUMER_RECURSIVE | ||||||
|  |       line: "PAPERLESS_CONSUMER_RECURSIVE={{ paperlessng_consumer_recursive }}" | ||||||
|  |     - regexp: PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS | ||||||
|  |       line: "PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS={{ paperlessng_consumer_subdirs_as_tags }}" | ||||||
|  |     - regexp: PAPERLESS_OPTIMIZE_THUMBNAILS | ||||||
|  |       line: "PAPERLESS_OPTIMIZE_THUMBNAILS={{ paperlessng_optimize_thumbnails }}" | ||||||
|  |     - regexp: PAPERLESS_POST_CONSUME_SCRIPT | ||||||
|  |       line: "PAPERLESS_POST_CONSUME_SCRIPT={{ paperlessng_post_consume_script }}" | ||||||
|  |     - regexp: PAPERLESS_FILENAME_DATE_ORDER | ||||||
|  |       line: "PAPERLESS_FILENAME_DATE_ORDER={{ paperlessng_filename_date_order }}" | ||||||
|  |     - regexp: PAPERLESS_THUMBNAIL_FONT_NAME | ||||||
|  |       line: "PAPERLESS_THUMBNAIL_FONT_NAME={{ paperlessng_thumbnail_font_name }}" | ||||||
|  |     - regexp: PAPERLESS_IGNORE_DATES | ||||||
|  |       line: "PAPERLESS_IGNORE_DATES={{ paperlessng_ignore_dates }}" | ||||||
|  |   no_log: yes | ||||||
|  |  | ||||||
| - name: configure paperless-ng database [sqlite] | - name: configure paperless-ng database [sqlite] | ||||||
|   lineinfile: |   lineinfile: | ||||||
| @@ -228,6 +269,8 @@ | |||||||
|       line: "PAPERLESS_DBUSER={{ paperlessng_db_user }}" |       line: "PAPERLESS_DBUSER={{ paperlessng_db_user }}" | ||||||
|     - regexp: PAPERLESS_DBPASS |     - regexp: PAPERLESS_DBPASS | ||||||
|       line: "PAPERLESS_DBPASS={{ paperlessng_db_pass }}" |       line: "PAPERLESS_DBPASS={{ paperlessng_db_pass }}" | ||||||
|  |     - regexp: PAPERLESS_DBSSLMODE | ||||||
|  |       line: "PAPERLESS_DBSSLMODE={{ paperlessng_db_sslmode }}" | ||||||
|   when: paperlessng_db_type == 'postgresql' |   when: paperlessng_db_type == 'postgresql' | ||||||
|   no_log: yes |   no_log: yes | ||||||
|  |  | ||||||
| @@ -258,15 +301,7 @@ | |||||||
|     extra_args: --upgrade |     extra_args: --upgrade | ||||||
|   when: paperlessng_current_version.stdout != paperlessng_version | string |   when: paperlessng_current_version.stdout != paperlessng_version | string | ||||||
|  |  | ||||||
| - name: collect static files | - name: migrate database schema | ||||||
|   become: yes |  | ||||||
|   become_user: "{{ paperlessng_system_user }}" |  | ||||||
|   command: "{{ paperlessng_virtualenv }}/bin/python3 {{ paperlessng_directory }}/src/manage.py collectstatic --no-input" |  | ||||||
|   when: paperlessng_current_version.stdout != paperlessng_version | string |  | ||||||
|   register: static_files |  | ||||||
|   changed_when: static_files.stdout is not match("0 static files copied .*") |  | ||||||
|  |  | ||||||
| - name: create database schema |  | ||||||
|   become: yes |   become: yes | ||||||
|   become_user: "{{ paperlessng_system_user }}" |   become_user: "{{ paperlessng_system_user }}" | ||||||
|   command: "{{ paperlessng_virtualenv }}/bin/python3 {{ paperlessng_directory }}/src/manage.py migrate" |   command: "{{ paperlessng_virtualenv }}/bin/python3 {{ paperlessng_directory }}/src/manage.py migrate" | ||||||
| @@ -274,12 +309,6 @@ | |||||||
|   register: database_schema |   register: database_schema | ||||||
|   changed_when: '"No migrations to apply." not in database_schema.stdout' |   changed_when: '"No migrations to apply." not in database_schema.stdout' | ||||||
|  |  | ||||||
| - name: compile translations |  | ||||||
|   become: yes |  | ||||||
|   become_user: "{{ paperlessng_system_user }}" |  | ||||||
|   command: "{{ paperlessng_virtualenv }}/bin/python3 {{ paperlessng_directory }}/src/manage.py compilemessages" |  | ||||||
|   when: paperlessng_current_version.stdout != paperlessng_version | string |  | ||||||
|  |  | ||||||
| - name: configure paperless superuser | - name: configure paperless superuser | ||||||
|   become: yes |   become: yes | ||||||
|   become_user: "{{ paperlessng_system_user }}" |   become_user: "{{ paperlessng_system_user }}" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Jonas Winkler
					Jonas Winkler