mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-02 13:45:10 -05:00
removed the encryption logic.
This commit is contained in:
parent
8fbb31a928
commit
c2a86704eb
@ -5,6 +5,16 @@
|
|||||||
Changelog
|
Changelog
|
||||||
*********
|
*********
|
||||||
|
|
||||||
|
paperless-ng 0.9.4
|
||||||
|
##################
|
||||||
|
|
||||||
|
* Front end: Clickable tags, correspondents and types allow quick filtering for related documents.
|
||||||
|
* Front end: Saved views are now editable.
|
||||||
|
* Front end: Preview documents directly in the browser.
|
||||||
|
* Fixes:
|
||||||
|
* A severe error when trying to use post consume scripts.
|
||||||
|
* The documentation now contains information about bare metal installs.
|
||||||
|
|
||||||
paperless-ng 0.9.3
|
paperless-ng 0.9.3
|
||||||
##################
|
##################
|
||||||
|
|
||||||
@ -20,7 +30,7 @@ paperless-ng 0.9.3
|
|||||||
aware of.
|
aware of.
|
||||||
* Issue with the automatic classifier not working with only one tag.
|
* Issue with the automatic classifier not working with only one tag.
|
||||||
* A couple issues with the search index being opened to eagerly.
|
* A couple issues with the search index being opened to eagerly.
|
||||||
|
|
||||||
* Added lots of tests for various parts of the application.
|
* Added lots of tests for various parts of the application.
|
||||||
|
|
||||||
paperless-ng 0.9.2
|
paperless-ng 0.9.2
|
||||||
|
142
docs/setup.rst
142
docs/setup.rst
@ -208,9 +208,147 @@ Docker Route
|
|||||||
Bare Metal Route
|
Bare Metal Route
|
||||||
================
|
================
|
||||||
|
|
||||||
.. warning::
|
Paperless runs on linux only. The following procedure has been tested on a minimal
|
||||||
|
installation of Debian/Buster, which is the current stable release at the time of
|
||||||
|
writing. Windows is not and will never be supported.
|
||||||
|
|
||||||
TBD. User docker for now.
|
1. Install dependencies. Paperless requires the following packages.
|
||||||
|
|
||||||
|
* ``python3`` 3.6, 3.7, 3.8 (3.9 is untested).
|
||||||
|
* ``python3-pip``, optionally ``pipenv`` for package installation
|
||||||
|
* ``python3-dev``
|
||||||
|
|
||||||
|
* ``imagemagick`` >= 6 for PDF conversion
|
||||||
|
* ``unpaper`` for cleaning documents before OCR
|
||||||
|
* ``ghostscript``
|
||||||
|
* ``optipng`` for optimising thumbnails
|
||||||
|
* ``tesseract-ocr`` >= 4.0.0 for OCR
|
||||||
|
* ``tesseract-ocr`` language packs (``tesseract-ocr-eng``, ``tesseract-ocr-deu``, etc)
|
||||||
|
* ``gnupg`` for handling encrypted documents
|
||||||
|
* ``libpoppler-cpp-dev`` for PDF to text conversion
|
||||||
|
* ``libmagic-dev`` for mime type detection
|
||||||
|
* ``libpq-dev`` for PostgreSQL
|
||||||
|
|
||||||
|
You will also need ``build-essential``, ``python3-setuptools`` and ``python3-wheel``
|
||||||
|
for installing some of the python dependencies. You can remove that
|
||||||
|
again after installation.
|
||||||
|
|
||||||
|
2. Install ``redis`` >= 5.0 and configure it to start automatically.
|
||||||
|
|
||||||
|
3. Optional. Install ``postgresql`` and configure a database, user and password for paperless. If you do not wish
|
||||||
|
to use PostgreSQL, SQLite is avialable as well.
|
||||||
|
|
||||||
|
4. Get the release archive. If you pull the git repo as it is, you also have to compile the front end by yourself.
|
||||||
|
Extract the frontend to a place from where you wish to execute it, such as ``/opt/paperless``.
|
||||||
|
|
||||||
|
5. Configure paperless. See :ref:`configuration` for details. Edit the included ``paperless.conf`` and adjust the
|
||||||
|
settings to your needs. Required settings for getting paperless running are:
|
||||||
|
|
||||||
|
* ``PAPERLESS_REDIS`` should point to your redis server, such as redis://localhost:6379.
|
||||||
|
* ``PAPERLESS_DBHOST`` should be the hostname on which your PostgreSQL server is running. Do not configure this
|
||||||
|
to use SQLite instead. Also configure port, database name, user and password as necessary.
|
||||||
|
* ``PAPERLESS_CONSUMPTION_DIR`` should point to a folder which paperless should watch for documents. You might
|
||||||
|
want to have this somewhere else. Likewise, ``PAPERLESS_DATA_DIR`` and ``PAPERLESS_MEDIA_ROOT`` define where
|
||||||
|
paperless stores its data. If you like, you can point both to the same directory.
|
||||||
|
* ``PAPERLESS_SECRET_KEY`` should be a random sequence of characters. It's used for authentication. Failure
|
||||||
|
to do so allows third parties to forge authentication credentials.
|
||||||
|
|
||||||
|
Many more adjustments can be made to paperless, especially the OCR part. The following options are recommended
|
||||||
|
for everyone:
|
||||||
|
|
||||||
|
* Set ``PAPERLESS_OCR_LANGUAGE`` to the language most of your documents are written in.
|
||||||
|
* Set ``PAPERLESS_TIME_ZONE`` to your local time zone.
|
||||||
|
|
||||||
|
6. Setup permissions. Create a system users under which you wish to run paperless. Ensure that these directories exist
|
||||||
|
and that the user has write permissions to the following directories
|
||||||
|
|
||||||
|
* ``/opt/paperless/media``
|
||||||
|
* ``/opt/paperless/data``
|
||||||
|
* ``/opt/paperless/consume``
|
||||||
|
|
||||||
|
Adjust as necessary if you configured different folders.
|
||||||
|
|
||||||
|
7. Install python requirements. Paperless comes with both Pipfiles for ``pipenv`` as well as with a ``requirements.txt``.
|
||||||
|
Both will install exactly the same requirements. It is up to you if you wish to use a virtual environment or not.
|
||||||
|
|
||||||
|
8. Go to ``/opt/paperless/src``, and execute the following commands:
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
# This collects static files from paperless and django.
|
||||||
|
python3 manage.py collectstatic --clear --no-input
|
||||||
|
|
||||||
|
# This creates the database schema.
|
||||||
|
python3 manage.py migrate
|
||||||
|
|
||||||
|
# This creates your first paperless user
|
||||||
|
python3 manage.py createsuperuser
|
||||||
|
|
||||||
|
9. Optional: Test that paperless is working by executing
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
# This collects static files from paperless and django.
|
||||||
|
python3 manage.py runserver
|
||||||
|
|
||||||
|
and pointing your browser to http://localhost:8000/.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
This is a development server which should not be used in
|
||||||
|
production.
|
||||||
|
|
||||||
|
.. hint::
|
||||||
|
|
||||||
|
This will not start the consumer. Paperless does this in a
|
||||||
|
separate process.
|
||||||
|
|
||||||
|
10. Setup systemd services to run paperless automatically. You may
|
||||||
|
use the service definition files included in the ``scripts`` folder
|
||||||
|
as a starting point.
|
||||||
|
|
||||||
|
Paperless needs the ``webserver`` script to run the webserver, the
|
||||||
|
``consumer`` script to watch the input folder, and the ``scheduler``
|
||||||
|
script to run tasks such as email checking and document consumption.
|
||||||
|
|
||||||
|
These services rely on redis and optionally the database server, but
|
||||||
|
don't need to be started in any particular order. The example files
|
||||||
|
depend on redis being started. If you use a database server, you should
|
||||||
|
add additinal dependencies.
|
||||||
|
|
||||||
|
.. hint::
|
||||||
|
|
||||||
|
You may optionally set up your preferred web server to serve
|
||||||
|
paperless as a wsgi application directly instead of running the
|
||||||
|
``webserver`` service. The module containing the wsgi application
|
||||||
|
is named ``paperless.wsgi``.
|
||||||
|
|
||||||
|
.. caution::
|
||||||
|
|
||||||
|
The included scripts run a ``gunicorn`` standalone server,
|
||||||
|
which is fine for running paperless. It does support SSL,
|
||||||
|
however, the documentation of GUnicorn states that you should
|
||||||
|
use a proxy server in front of gunicorn instead.
|
||||||
|
|
||||||
|
11. Optional: Install a samba server and make the consumption folder
|
||||||
|
available as a network share.
|
||||||
|
|
||||||
|
12. Configure ImageMagick to allow processing of PDF documents. Most distributions have
|
||||||
|
this disabled by default, since PDF documents can contain malware. If
|
||||||
|
you don't do this, paperless will fall back to ghostscript for certain steps
|
||||||
|
such as thumbnail generation.
|
||||||
|
|
||||||
|
Edit ``/etc/ImageMagick-6/policy.xml`` and adjust
|
||||||
|
|
||||||
|
.. code::
|
||||||
|
|
||||||
|
<policy domain="coder" rights="none" pattern="PDF" />
|
||||||
|
|
||||||
|
to
|
||||||
|
|
||||||
|
.. code::
|
||||||
|
|
||||||
|
<policy domain="coder" rights="read|write" pattern="PDF" />
|
||||||
|
|
||||||
Migration to paperless-ng
|
Migration to paperless-ng
|
||||||
#########################
|
#########################
|
||||||
|
@ -42,6 +42,7 @@ fi
|
|||||||
mkdir "$PAPERLESS_DIST"
|
mkdir "$PAPERLESS_DIST"
|
||||||
mkdir "$PAPERLESS_DIST_APP"
|
mkdir "$PAPERLESS_DIST_APP"
|
||||||
mkdir "$PAPERLESS_DIST_APP/docker"
|
mkdir "$PAPERLESS_DIST_APP/docker"
|
||||||
|
mkdir "$PAPERLESS_DIST_APP/scripts"
|
||||||
mkdir "$PAPERLESS_DIST_DOCKERFILES"
|
mkdir "$PAPERLESS_DIST_DOCKERFILES"
|
||||||
|
|
||||||
# setup dependencies.
|
# setup dependencies.
|
||||||
@ -104,6 +105,11 @@ cp "$PAPERLESS_ROOT/docker/gunicorn.conf.py" "$PAPERLESS_DIST_APP/docker/"
|
|||||||
cp "$PAPERLESS_ROOT/docker/imagemagick-policy.xml" "$PAPERLESS_DIST_APP/docker/"
|
cp "$PAPERLESS_ROOT/docker/imagemagick-policy.xml" "$PAPERLESS_DIST_APP/docker/"
|
||||||
cp "$PAPERLESS_ROOT/docker/supervisord.conf" "$PAPERLESS_DIST_APP/docker/"
|
cp "$PAPERLESS_ROOT/docker/supervisord.conf" "$PAPERLESS_DIST_APP/docker/"
|
||||||
|
|
||||||
|
# auxiliary files for bare metal installs
|
||||||
|
cp "$PAPERLESS_ROOT/scripts/paperless-webserver.service" "$PAPERLESS_DIST_APP/scripts/"
|
||||||
|
cp "$PAPERLESS_ROOT/scripts/paperless-consumer.service" "$PAPERLESS_DIST_APP/scripts/"
|
||||||
|
cp "$PAPERLESS_ROOT/scripts/paperless-scheduler.service" "$PAPERLESS_DIST_APP/scripts/"
|
||||||
|
|
||||||
# try to make the docker build.
|
# try to make the docker build.
|
||||||
|
|
||||||
cd "$PAPERLESS_DIST_APP"
|
cd "$PAPERLESS_DIST_APP"
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=Paperless consumer
|
Description=Paperless consumer
|
||||||
|
Requires=redis.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
User=paperless
|
User=paperless
|
||||||
Group=paperless
|
Group=paperless
|
||||||
ExecStart=/home/paperless/project/virtualenv/bin/python /home/paperless/project/src/manage.py document_consumer
|
WorkingDirectory=/opt/paperless/src
|
||||||
|
ExecStart=python3 manage.py document_consumer
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
12
scripts/paperless-scheduler.service
Normal file
12
scripts/paperless-scheduler.service
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Paperless consumer
|
||||||
|
Requires=redis.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User=paperless
|
||||||
|
Group=paperless
|
||||||
|
WorkingDirectory=/opt/paperless/src
|
||||||
|
ExecStart=python3 manage.py qcluster
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
@ -2,11 +2,13 @@
|
|||||||
Description=Paperless webserver
|
Description=Paperless webserver
|
||||||
After=network.target
|
After=network.target
|
||||||
Wants=network.target
|
Wants=network.target
|
||||||
|
Requires=redis.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
User=paperless
|
User=paperless
|
||||||
Group=paperless
|
Group=paperless
|
||||||
ExecStart=/home/paperless/project/virtualenv/bin/gunicorn --pythonpath=/home/paperless/project/src paperless.wsgi -w 2
|
WorkingDirectory=/opt/paperless/src
|
||||||
|
ExecStart=/opt/paperless/.local/bin/gunicorn paperless.wsgi -w 2 -b 0.0.0.0:8000
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
Loading…
x
Reference in New Issue
Block a user