Manual Way

If you follow this document and still have troubles, please open an issue on GitHub: so I can fill in the gaps.

  1. Within extracted directory copy to /etc/:

    $ cp /etc/
    $ chmod 640 /etc/

1a. Look at the config-file with your favorite text editor. Leave default settings or adjust to your needs:

  • DBDIR: SQLite database storage location
  • MEDIA_DIR: your documents storage location
  • STATIC_DIR: this is where all static files will be collected by collectstatic command
  • IMPORTER_DIR: Papermerge is looking for new files here
  1. Create and Activate python virtual environment with:

    $ python3 -m venv .venv
    $ source .venv/bin/activate
  2. Install necessary dependencies:

    $ pip install -r requirements/base.txt
  3. Initialize SQLite database with:

    $ ./ migrate
  4. Collect static files for webserver with:

    $ ./ collectstatic
  5. Create a user for Papermerge instance:

    $ ./ createsuperuser
  6. Start webserver with:

    $ ./ runserver <IP>:<PORT>

If no specific IP or PORT is given, the default is also known as http://localhost:8000/. It should look like in the screenshot below. Use the login credentials that you created in #6 to access Papermerge.


You are almost there, but there is no worker running yet.

  1. In a separate window, change to the project’s root directory again, but this time, you should start the worker script with ./ worker.
  2. Now put a JPEG, PNG or TIFF file into the IMPORTER_DIR.
  3. Wait a few minutes for Papermerge to run OCR.

Preview of the documents uploaded:

  1. Now you should be able to select text in OCRed document!

Now you should be able to select text