mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-02 13:45:10 -05:00

* Vagrant does not seem to have any libvirt boxes for Ubuntu any more. * Vagrant 2 was released a year ago, but vagrant-libvirt only claims to support up to Vagrant 1.8.
124 lines
3.9 KiB
ReStructuredText
124 lines
3.9 KiB
ReStructuredText
.. _requirements:
|
|
|
|
Requirements
|
|
============
|
|
|
|
You need a Linux machine or Unix-like setup (theoretically an Apple machine
|
|
should work) that has the following software installed:
|
|
|
|
* `Python3`_ (with development libraries, pip and virtualenv)
|
|
* `GNU Privacy Guard`_
|
|
* `Tesseract`_, plus its language files matching your document base.
|
|
* `Imagemagick`_ version 6.7.5 or higher
|
|
* `unpaper`_
|
|
* `libpoppler-cpp-dev`_ PDF rendering library
|
|
|
|
.. _Python3: https://python.org/
|
|
.. _GNU Privacy Guard: https://gnupg.org
|
|
.. _Tesseract: https://github.com/tesseract-ocr
|
|
.. _Imagemagick: http://imagemagick.org/
|
|
.. _unpaper: https://www.flameeyes.eu/projects/unpaper
|
|
.. _libpoppler-cpp-dev: https://poppler.freedesktop.org/
|
|
|
|
Notably, you should confirm how you access your Python3 installation. Many
|
|
Linux distributions will install Python3 in parallel to Python2, using the
|
|
names ``python3`` and ``python`` respectively. The same goes for ``pip3`` and
|
|
``pip``. Running Paperless with Python2 will likely break things, so make sure
|
|
that you're using the right version.
|
|
|
|
For the purposes of simplicity, ``python`` and ``pip`` is used everywhere to
|
|
refer to their Python3 versions.
|
|
|
|
In addition to the above, there are a number of Python requirements, all of
|
|
which are listed in a file called ``requirements.txt`` in the project root
|
|
directory.
|
|
|
|
If you're not working on a virtual environment (like Docker), you
|
|
should probably be using a virtualenv, but that's your call. The reasons why
|
|
you might choose a virtualenv or not aren't really within the scope of this
|
|
document. Needless to say if you don't know what a virtualenv is, you should
|
|
probably figure that out before continuing.
|
|
|
|
|
|
.. _requirements-apple:
|
|
|
|
Problems with Imagemagick & PDFs
|
|
--------------------------------
|
|
|
|
Some users have `run into problems`_ with getting ImageMagick to do its thing
|
|
with PDFs. Often this is the case with Apple systems using HomeBrew, but other
|
|
Linuxes have been a problem as well. The solution appears to be to install
|
|
ghostscript as well as ImageMagick:
|
|
|
|
.. _run into problems: https://github.com/danielquinn/paperless/issues/25
|
|
|
|
.. code:: bash
|
|
|
|
$ brew install ghostscript
|
|
$ brew install imagemagick
|
|
$ brew install libmagic
|
|
|
|
|
|
.. _requirements-baremetal:
|
|
|
|
Python-specific Requirements: No Virtualenv
|
|
-------------------------------------------
|
|
|
|
If you don't care to use a virtual env, then installation of the Python
|
|
dependencies is easy:
|
|
|
|
.. code:: bash
|
|
|
|
$ pip install --user --requirement /path/to/paperless/requirements.txt
|
|
|
|
This will download and install all of the requirements into
|
|
``${HOME}/.local``. Remember that your distribution may be using ``pip3`` as
|
|
mentioned above.
|
|
|
|
|
|
.. _requirements-virtualenv:
|
|
|
|
Python-specific Requirements: Virtualenv
|
|
----------------------------------------
|
|
|
|
Using a virtualenv for this is pretty straightforward: create a virtualenv,
|
|
enter it, and install the requirements using the ``requirements.txt`` file:
|
|
|
|
.. code:: bash
|
|
|
|
$ virtualenv --python=/path/to/python3 /path/to/arbitrary/directory
|
|
$ . /path/to/arbitrary/directory/bin/activate
|
|
$ pip install --requirement /path/to/paperless/requirements.txt
|
|
|
|
Now you're ready to go. Just remember to enter (activate) your virtualenv
|
|
whenever you want to use Paperless.
|
|
|
|
|
|
.. _requirements-documentation:
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
As generation of the documentation is not required for the use of Paperless,
|
|
dependencies for this process are not included in ``requirements.txt``. If
|
|
you'd like to generate your own docs locally, you'll need to:
|
|
|
|
.. code:: bash
|
|
|
|
$ pip install sphinx
|
|
|
|
and then cd into the ``docs`` directory and type ``make html``.
|
|
|
|
If you are using Docker, you can use the following commands to build the
|
|
documentation and run a webserver serving it on `port 8001`_:
|
|
|
|
.. code:: bash
|
|
|
|
$ pwd
|
|
/path/to/paperless
|
|
|
|
$ docker build -t paperless:docs -f docs/Dockerfile .
|
|
$ docker run --rm -it -p "8001:8000" paperless:docs
|
|
|
|
.. _port 8001: http://127.0.0.1:8001
|