diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index 1ad06f12e..0d2302b72 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -42,7 +42,15 @@ body: id: logs attributes: label: Webserver logs - description: If available, post any logs from the web server related to your issue. + description: Logs from the web server related to your issue. + render: bash + validations: + required: true + - type: textarea + id: logs_browser + attributes: + label: Browser logs + description: Logs from the web browser related to your issue, if needed render: bash - type: input id: version diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f1bf47d14..c9f70ee81 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -51,8 +51,8 @@ repos: hooks: - id: add-trailing-comma exclude: "(migrations)" - - repo: https://gitlab.com/pycqa/flake8 - rev: 3.9.2 + - repo: https://github.com/PyCQA/flake8 + rev: 5.0.4 hooks: - id: flake8 files: ^src/ @@ -63,7 +63,7 @@ repos: hooks: - id: black - repo: https://github.com/asottile/pyupgrade - rev: v3.1.0 + rev: v3.2.2 hooks: - id: pyupgrade exclude: "(migrations)" diff --git a/README.md b/README.md index 8b1eb5e4a..9ae1443f4 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Crowdin](https://badges.crowdin.net/paperless-ngx/localized.svg)](https://crowdin.com/project/paperless-ngx) [![Documentation Status](https://readthedocs.org/projects/paperless-ngx/badge/?version=latest)](https://paperless-ngx.readthedocs.io/en/latest/?badge=latest) [![Coverage Status](https://coveralls.io/repos/github/paperless-ngx/paperless-ngx/badge.svg?branch=master)](https://coveralls.io/github/paperless-ngx/paperless-ngx?branch=master) -[![Chat on Matrix](https://matrix.to/img/matrix-badge.svg)](https://matrix.to/#/#paperless:adnidor.de) +[![Chat on Matrix](https://matrix.to/img/matrix-badge.svg)](https://matrix.to/#/%23paperlessngx%3Amatrix.org)

@@ -105,6 +105,7 @@ Paperless has been around a while now, and people are starting to build stuff on - [Paperless App](https://github.com/bauerj/paperless_app): An Android/iOS app for Paperless-ngx. Also works with the original Paperless and Paperless-ng. - [Paperless Share](https://github.com/qcasey/paperless_share). Share any files from your Android application with paperless. Very simple, but works with all of the mobile scanning apps out there that allow you to share scanned documents. - [Scan to Paperless](https://github.com/sbrunner/scan-to-paperless): Scan and prepare (crop, deskew, OCR, ...) your documents for Paperless. +- [Paperless Mobile](https://github.com/astubenbord/paperless-mobile): A modern, feature rich mobile application for Paperless. These projects also exist, but their status and compatibility with paperless-ngx is unknown. diff --git a/docker/compose/docker-compose.mariadb-tika.yml b/docker/compose/docker-compose.mariadb-tika.yml index b3699e4d7..22f69ba4f 100644 --- a/docker/compose/docker-compose.mariadb-tika.yml +++ b/docker/compose/docker-compose.mariadb-tika.yml @@ -77,8 +77,8 @@ services: PAPERLESS_REDIS: redis://broker:6379 PAPERLESS_DBENGINE: mariadb PAPERLESS_DBHOST: db - PAPERLESS_DBUSER: paperless - PAPERLESS_DBPASSWORD: paperless + PAPERLESS_DBUSER: paperless # only needed if non-default username + PAPERLESS_DBPASS: paperless # only needed if non-default password PAPERLESS_DBPORT: 3306 PAPERLESS_TIKA_ENABLED: 1 PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000 diff --git a/docker/compose/docker-compose.mariadb.yml b/docker/compose/docker-compose.mariadb.yml index 8cb452464..a18e0fb3e 100644 --- a/docker/compose/docker-compose.mariadb.yml +++ b/docker/compose/docker-compose.mariadb.yml @@ -71,8 +71,8 @@ services: PAPERLESS_REDIS: redis://broker:6379 PAPERLESS_DBENGINE: mariadb PAPERLESS_DBHOST: db - PAPERLESS_DBUSER: paperless - PAPERLESS_DBPASSWORD: paperless + PAPERLESS_DBUSER: paperless # only needed if non-default username + PAPERLESS_DBPASS: paperless # only needed if non-default password PAPERLESS_DBPORT: 3306 diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index d1107feca..f227e18d8 100755 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -137,8 +137,7 @@ initialize() { install_languages() { echo "Installing languages..." - local -r langs="$1" - read -ra langs <<<"$langs" + read -ra langs <<<"$1" # Check that it is not empty if [ ${#langs[@]} -eq 0 ]; then diff --git a/docs/administration.rst b/docs/administration.rst index ed2075a48..2984057ed 100644 --- a/docs/administration.rst +++ b/docs/administration.rst @@ -447,6 +447,14 @@ command: The command takes no arguments and processes all your mail accounts and rules. + .. note:: + + As of October 2022 Microsoft no longer supports IMAP authentication for Exchange + servers, thus Exchange is no longer supported until a solution is implemented in + the Python IMAP library used by Paperless. See `learn.microsoft.com`_ + +.. _learn.microsoft.com: https://learn.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/deprecation-of-basic-authentication-exchange-online + .. _utilities-archiver: Creating archived documents diff --git a/docs/advanced_usage.rst b/docs/advanced_usage.rst index eda2ca259..0096da99c 100644 --- a/docs/advanced_usage.rst +++ b/docs/advanced_usage.rst @@ -149,6 +149,9 @@ which will in turn call `pdf2pdfocr.py`_ on your document, which will then overwrite the file with an OCR'd version of the file and exit. At which point, the consumption process will begin with the newly modified file. +The script's stdout and stderr will be logged line by line to the webserver log, along +with the exit code of the script. + .. _pdf2pdfocr.py: https://github.com/LeoFCardoso/pdf2pdfocr .. _advanced-post_consume_script: @@ -178,6 +181,10 @@ example, you can take a look at `post-consumption-example.sh`_ in this project. The post consumption script cannot cancel the consumption process. +The script's stdout and stderr will be logged line by line to the webserver log, along +with the exit code of the script. + + Docker ------ Assumed you have ``/home/foo/paperless-ngx/scripts/post-consumption-example.sh``. diff --git a/docs/changelog.md b/docs/changelog.md index 1caa00220..6bd488cca 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,7 +1,21 @@ # Changelog +## paperless-ngx 1.9.2 + +### Bug Fixes + +- Bugfix: Allow PAPERLESS_OCR_CLEAN=none [@shamoon](https://github.com/shamoon) ([#1670](https://github.com/paperless-ngx/paperless-ngx/pull/1670)) + +### All App Changes + +- Chore: Bumps version numbers to 1.9.2 [@stumpylog](https://github.com/stumpylog) ([#1666](https://github.com/paperless-ngx/paperless-ngx/pull/1666)) + ## paperless-ngx 1.9.1 +### Notes + +- Version 1.9.1 incorrectly displays the version string as 1.9.0 + ### Bug Fixes - Bugfix: Fixes missing OCR mode skip_noarchive [@stumpylog](https://github.com/stumpylog) ([#1645](https://github.com/paperless-ngx/paperless-ngx/pull/1645)) diff --git a/docs/setup.rst b/docs/setup.rst index 15f16d193..6927d7068 100644 --- a/docs/setup.rst +++ b/docs/setup.rst @@ -648,6 +648,48 @@ Migration to paperless-ngx is then performed in a few simple steps: 10. Optionally, follow the instructions below to migrate your existing data to PostgreSQL. +Migrating from LinuxServer.io Docker Image +======================== + +As with any upgrades and large changes, it is highly recommended to create a backup before +starting. This assumes the image was running using Docker Compose, but the instructions +are translatable to Docker commands as well. + +1. Stop and remove the paperless container +2. If using an external database, stop the container +3. Update Redis configuration + + a) If ``REDIS_URL`` is already set, change it to ``PAPERLESS_REDIS`` and continue + to step 4. + b) Otherwise, in the ``docker-compose.yml`` add a new service for Redis, + following `the example compose files `_ + b) Set the environment variable ``PAPERLESS_REDIS`` so it points to the new Redis container + +4. Update user mapping + + a) If set, change the environment variable ``PUID`` to ``USERMAP_UID`` + b) If set, change the environment variable ``PGID`` to ``USERMAP_GID`` + +5. Update configuration paths + + a) Set the environment variable ``PAPERLESS_DATA_DIR`` + to ``/config`` + +6. Update media paths + + a) Set the environment variable ``PAPERLESS_MEDIA_ROOT`` + to ``/data/media`` + +7. Update timezone + + a) Set the environment variable ``PAPERLESS_TIME_ZONE`` + to the same value as ``TZ`` + +8. Modify the ``image:`` to point to ``ghcr.io/paperless-ngx/paperless-ngx:latest`` or + a specific version if preferred. + +9. Start the containers as before, using ``docker-compose``. + .. _setup-sqlite_to_psql: Moving data from SQLite to PostgreSQL diff --git a/docs/troubleshooting.rst b/docs/troubleshooting.rst index 2d10bb15f..0ef573805 100644 --- a/docs/troubleshooting.rst +++ b/docs/troubleshooting.rst @@ -317,3 +317,12 @@ Uploading or consuming multiple files at once results in many workers attempting Consider changing to the PostgreSQL database if you will be processing many documents at once often. Otherwise, try tweaking the ``PAPERLESS_DB_TIMEOUT`` setting to allow more time for the database to unlock. This may have minor performance implications. + + +gunicorn fails to start with "is not a valid port number" +######################################################### + +You are likely running using Kubernetes, which automatically creates an environment variable named `${serviceName}_PORT`. +This is the same environment variable which is used by Paperless to optionally change the port gunicorn listens on. + +To fix this, set `PAPERLESS_PORT` again to your desired port, or the default of 8000. diff --git a/src-ui/src/app/components/app-frame/app-frame.component.html b/src-ui/src/app/components/app-frame/app-frame.component.html index 41bd50970..079c562b9 100644 --- a/src-ui/src/app/components/app-frame/app-frame.component.html +++ b/src-ui/src/app/components/app-frame/app-frame.component.html @@ -17,7 +17,7 @@ -