mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-28 03:46:06 -05:00 
			
		
		
		
	Merge branch 'master' into dev
This commit is contained in:
		| @@ -107,7 +107,7 @@ Example Playbook | |||||||
|     paperlessng_db_type: postgresql |     paperlessng_db_type: postgresql | ||||||
|     paperlessng_db_pass: PLEASEPROVIDEASTRONGPASSWORDHERE |     paperlessng_db_pass: PLEASEPROVIDEASTRONGPASSWORDHERE | ||||||
|  |  | ||||||
|     paperless_secret_key: AGAINPLEASECHANGETHISNOW |     paperlessng_secret_key: AGAINPLEASECHANGETHISNOW | ||||||
|  |  | ||||||
|     paperlessng_ocr_languages: |     paperlessng_ocr_languages: | ||||||
|       - eng |       - eng | ||||||
|   | |||||||
| @@ -23,14 +23,14 @@ paperlessng_filename_format: | |||||||
| paperlessng_virtualenv: "{{ paperlessng_directory }}/.venv" | paperlessng_virtualenv: "{{ paperlessng_directory }}/.venv" | ||||||
|  |  | ||||||
| # Hosting & Security | # Hosting & Security | ||||||
| paperless_secret_key: PLEASECHANGETHISFORTHELOVEOFGOD | paperlessng_secret_key: PLEASECHANGETHISFORTHELOVEOFGOD | ||||||
| paperless_allowed_hosts: "*" | paperlessng_allowed_hosts: "*" | ||||||
| paperless_cors_allowed_hosts: http://localhost:8000 | paperlessng_cors_allowed_hosts: http://localhost:8000 | ||||||
| paperless_force_script_name: | paperlessng_force_script_name: | ||||||
| paperless_static_url: /static/ | paperlessng_static_url: /static/ | ||||||
| paperless_auto_login_username: | paperlessng_auto_login_username: | ||||||
| paperless_cookie_prefix: "" | paperlessng_cookie_prefix: "" | ||||||
| paperless_enable_http_remote_user: False | paperlessng_enable_http_remote_user: False | ||||||
|  |  | ||||||
| # OCR settings | # OCR settings | ||||||
| paperlessng_ocr_languages: | paperlessng_ocr_languages: | ||||||
|   | |||||||
| @@ -286,21 +286,21 @@ | |||||||
|       line: "PAPERLESS_FILENAME_FORMAT={{ paperlessng_filename_format }}" |       line: "PAPERLESS_FILENAME_FORMAT={{ paperlessng_filename_format }}" | ||||||
|     # Hosting & Security |     # Hosting & Security | ||||||
|     - regexp: PAPERLESS_SECRET_KEY |     - regexp: PAPERLESS_SECRET_KEY | ||||||
|       line: "PAPERLESS_SECRET_KEY={{ paperless_secret_key }}" |       line: "PAPERLESS_SECRET_KEY={{ paperlessng_secret_key }}" | ||||||
|     - regexp: PAPERLESS_ALLOWED_HOSTS |     - regexp: PAPERLESS_ALLOWED_HOSTS | ||||||
|       line: "PAPERLESS_ALLOWED_HOSTS={{ paperless_allowed_hosts }}" |       line: "PAPERLESS_ALLOWED_HOSTS={{ paperlessng_allowed_hosts }}" | ||||||
|     - regexp: PAPERLESS_CORS_ALLOWED_HOSTS |     - regexp: PAPERLESS_CORS_ALLOWED_HOSTS | ||||||
|       line: "PAPERLESS_CORS_ALLOWED_HOSTS={{ paperless_cors_allowed_hosts }}" |       line: "PAPERLESS_CORS_ALLOWED_HOSTS={{ paperlessng_cors_allowed_hosts }}" | ||||||
|     - regexp: PAPERLESS_FORCE_SCRIPT_NAME |     - regexp: PAPERLESS_FORCE_SCRIPT_NAME | ||||||
|       line: "PAPERLESS_FORCE_SCRIPT_NAME={{ paperless_force_script_name }}" |       line: "PAPERLESS_FORCE_SCRIPT_NAME={{ paperlessng_force_script_name }}" | ||||||
|     - regexp: PAPERLESS_STATIC_URL |     - regexp: PAPERLESS_STATIC_URL | ||||||
|       line: "PAPERLESS_STATIC_URL={{ paperless_static_url }}" |       line: "PAPERLESS_STATIC_URL={{ paperlessng_static_url }}" | ||||||
|     - regexp: PAPERLESS_AUTO_LOGIN_USERNAME |     - regexp: PAPERLESS_AUTO_LOGIN_USERNAME | ||||||
|       line: "PAPERLESS_AUTO_LOGIN_USERNAME={{ paperless_auto_login_username }}" |       line: "PAPERLESS_AUTO_LOGIN_USERNAME={{ paperlessng_auto_login_username }}" | ||||||
|     - regexp: PAPERLESS_COOKIE_PREFIX |     - regexp: PAPERLESS_COOKIE_PREFIX | ||||||
|       line: "PAPERLESS_COOKIE_PREFIX={{ paperless_cookie_prefix }}" |       line: "PAPERLESS_COOKIE_PREFIX={{ paperlessng_cookie_prefix }}" | ||||||
|     - regexp: PAPERLESS_ENABLE_HTTP_REMOTE_USER |     - regexp: PAPERLESS_ENABLE_HTTP_REMOTE_USER | ||||||
|       line: "PAPERLESS_ENABLE_HTTP_REMOTE_USER={{ paperless_enable_http_remote_user }}" |       line: "PAPERLESS_ENABLE_HTTP_REMOTE_USER={{ paperlessng_enable_http_remote_user }}" | ||||||
|     # OCR settings |     # 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('+') }}" | ||||||
|   | |||||||
| @@ -176,7 +176,10 @@ Install Paperless from Docker Hub | |||||||
|  |  | ||||||
| 5.  Modify ``docker-compose.env``, following the comments in the file. The | 5.  Modify ``docker-compose.env``, following the comments in the file. The | ||||||
|     most important change is to set ``USERMAP_UID`` and ``USERMAP_GID`` |     most important change is to set ``USERMAP_UID`` and ``USERMAP_GID`` | ||||||
|     to the uid and gid of your user on the host system. This ensures that |     to the uid and gid of your user on the host system. Use ``id -u`` and | ||||||
|  |     ``id -g`` to get these. | ||||||
|  |  | ||||||
|  |     This ensures that | ||||||
|     both the docker container and you on the host machine have write access |     both the docker container and you on the host machine have write access | ||||||
|     to the consumption directory. If your UID and GID on the host system is |     to the consumption directory. If your UID and GID on the host system is | ||||||
|     1000 (the default for the first normal user on most systems), it will |     1000 (the default for the first normal user on most systems), it will | ||||||
| @@ -195,14 +198,10 @@ Install Paperless from Docker Hub | |||||||
|         with the default configuration. You will need to use ``PAPERLESS_CONSUMER_POLLING``, |         with the default configuration. You will need to use ``PAPERLESS_CONSUMER_POLLING``, | ||||||
|         which will disable inotify. See :ref:`here <configuration-polling>`. |         which will disable inotify. See :ref:`here <configuration-polling>`. | ||||||
|  |  | ||||||
| 6.  Now head over to: https://hub.docker.com/r/jonaswinkler/paperless-ng and choose your preferred | 6.  Run ``docker-compose pull``, followed by ``docker-compose up -d``. | ||||||
|     image and copy the link. To download this image do a `docker pull` followed by the link. Do this within the directory with the .yml files. |     This will pull the image, create and start the necessary containers. | ||||||
|     Depending on your network connection and CPU this will take a while. You have time to get a beverage. |  | ||||||
|  |  | ||||||
| 7.  Run ``docker-compose up -d``. This will create and start the necessary | 7.  To be able to login, you will need a super user. To create it, execute the | ||||||
|     containers, but your are not done yet! |  | ||||||
|  |  | ||||||
| 8.  To be able to login, you will need a super user. To create it, execute the |  | ||||||
|     following command: |     following command: | ||||||
|  |  | ||||||
|     .. code-block:: shell-session |     .. code-block:: shell-session | ||||||
| @@ -212,8 +211,8 @@ Install Paperless from Docker Hub | |||||||
|     This will prompt you to set a username, an optional e-mail address and |     This will prompt you to set a username, an optional e-mail address and | ||||||
|     finally a password (at least 8 characters). |     finally a password (at least 8 characters). | ||||||
|  |  | ||||||
| 9.  The default ``docker-compose.yml`` exports the webserver on your local port | 8.  The default ``docker-compose.yml`` exports the webserver on your local port | ||||||
|     8000. If you haven't adapted this, you should now be able to visit your |     8000. If you did not change this, you should now be able to visit your | ||||||
|     Paperless instance at ``http://127.0.0.1:8000`` or your servers IP-Address:8000. |     Paperless instance at ``http://127.0.0.1:8000`` or your servers IP-Address:8000. | ||||||
|     Use the login credentials you have created with the previous step. |     Use the login credentials you have created with the previous step. | ||||||
|  |  | ||||||
| @@ -481,7 +480,7 @@ Install Paperless using ansible | |||||||
|     .. code:: sh |     .. code:: sh | ||||||
|  |  | ||||||
|         cd paperless-ng |         cd paperless-ng | ||||||
|         git checkout ng-0.9.14 |         git checkout ng-1.0.0 | ||||||
|  |  | ||||||
| 3.  Create an ansible ``playbook.yml`` in the paperless-ng root directory: | 3.  Create an ansible ``playbook.yml`` in the paperless-ng root directory: | ||||||
|  |  | ||||||
| @@ -531,7 +530,7 @@ Install Paperless using ansible | |||||||
|  |  | ||||||
|     .. code:: yaml |     .. code:: yaml | ||||||
|  |  | ||||||
|         paperless_secret_key: PleaseGenerateAStrongKeyForThis |         paperlessng_secret_key: PleaseGenerateAStrongKeyForThis | ||||||
|  |  | ||||||
|         paperlessng_superuser_name: YourUserName |         paperlessng_superuser_name: YourUserName | ||||||
|         paperlessng_superuser_email: name@domain.tld |         paperlessng_superuser_email: name@domain.tld | ||||||
|   | |||||||
| @@ -60,7 +60,8 @@ required so that the user running paperless inside docker has write permissions | |||||||
| to these folders. This happens when pointing these directories to NFS shares, | to these folders. This happens when pointing these directories to NFS shares, | ||||||
| for example. | for example. | ||||||
|  |  | ||||||
| Ensure that `chown` is possible on these directories. | Ensure that ``chown`` is possible on these directories. | ||||||
|  |  | ||||||
|  |  | ||||||
| Classifier error: No training data available | Classifier error: No training data available | ||||||
| ############################################ | ############################################ | ||||||
| @@ -73,6 +74,7 @@ This may have two reasons: | |||||||
|     with Inbox tags. Verify that there are documents in your archive without inbox tags. |     with Inbox tags. Verify that there are documents in your archive without inbox tags. | ||||||
|     The algorithm will only learn from documents not in your inbox. |     The algorithm will only learn from documents not in your inbox. | ||||||
|  |  | ||||||
|  |  | ||||||
| UserWarning in sklearn on every single document | UserWarning in sklearn on every single document | ||||||
| ############################################### | ############################################### | ||||||
|  |  | ||||||
| @@ -91,6 +93,7 @@ in most cases. This warning will disappear automatically when paperless updates | |||||||
| If you want to get rid of the warning or actually experience issues with automatic matching, delete | If you want to get rid of the warning or actually experience issues with automatic matching, delete | ||||||
| the file ``classification_model.pickle`` in the data directory and let paperless recreate it. | the file ``classification_model.pickle`` in the data directory and let paperless recreate it. | ||||||
|  |  | ||||||
|  |  | ||||||
| Permission denied errors in the consumption directory | Permission denied errors in the consumption directory | ||||||
| ##################################################### | ##################################################### | ||||||
|  |  | ||||||
| @@ -106,6 +109,38 @@ different from ``1000``. See :ref:`setup-docker_hub`. | |||||||
|  |  | ||||||
| Also ensure that you are able to read and write to the consumption directory on the host. | Also ensure that you are able to read and write to the consumption directory on the host. | ||||||
|  |  | ||||||
|  |  | ||||||
|  | OSError: [Errno 19] No such device when consuming files | ||||||
|  | ####################################################### | ||||||
|  |  | ||||||
|  | If you experience errors such as: | ||||||
|  |  | ||||||
|  | .. code:: shell-session | ||||||
|  |  | ||||||
|  |     File "/usr/local/lib/python3.7/site-packages/whoosh/codec/base.py", line 570, in open_compound_file | ||||||
|  |     return CompoundStorage(dbfile, use_mmap=storage.supports_mmap) | ||||||
|  |     File "/usr/local/lib/python3.7/site-packages/whoosh/filedb/compound.py", line 75, in __init__ | ||||||
|  |     self._source = mmap.mmap(fileno, 0, access=mmap.ACCESS_READ) | ||||||
|  |     OSError: [Errno 19] No such device | ||||||
|  |  | ||||||
|  |     During handling of the above exception, another exception occurred: | ||||||
|  |  | ||||||
|  |     Traceback (most recent call last): | ||||||
|  |     File "/usr/local/lib/python3.7/site-packages/django_q/cluster.py", line 436, in worker | ||||||
|  |     res = f(*task["args"], **task["kwargs"]) | ||||||
|  |     File "/usr/src/paperless/src/documents/tasks.py", line 73, in consume_file | ||||||
|  |     override_tag_ids=override_tag_ids) | ||||||
|  |     File "/usr/src/paperless/src/documents/consumer.py", line 271, in try_consume_file | ||||||
|  |     raise ConsumerError(e) | ||||||
|  |  | ||||||
|  | Paperless uses a search index to provide better and faster full text searching. This search index is stored inside | ||||||
|  | the ``data`` folder. The search index uses memory-mapped files (mmap). The above error indicates that paperless | ||||||
|  | was unable to create and open these files. | ||||||
|  |  | ||||||
|  | This happens when you're trying to store the data directory on certain file systems (mostly network shares) | ||||||
|  | that don't support memory-mapped files. | ||||||
|  |  | ||||||
|  |  | ||||||
| Web-UI stuck at "Loading..." | Web-UI stuck at "Loading..." | ||||||
| ############################ | ############################ | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 jonaswinkler
					jonaswinkler