Manual Way

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

  1. Within extracted directory copy to /etc/ and open it in editor. Set values for:

    • IMPORTER_DIR: this is local filesystem directory from where your documents will be imported
    • DB_DIR: this is local directory where sqlite database file will be stored
    • MEDIA_DIR: this is where all your document files will be saved
    • STATIC_DIR: this is where all static files will be collected by collectstatic command
  2. Create and activate python virtual environment with:

    $ python -m venv .venv
    $ source .venv/bin/activate
  3. Install dependencies in requirements.txt:

    $ pip install -r requirements.txt
  4. Initialize SQLite database with:

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

    $ ./ collectstatic
  6. Create user for Papermerge instance:

    $ ./ createsuperuser
  7. Start webserver with:

    $ ./manage runserver <IP>:<PORT>

If no specific IP or port is given, the default is also known as http://localhost:8000/. At this step, must be able to access login screen and it should look like in screenshot below. You can login with the user/pass you created in #6.


Also, you can upload some document and see their preview.


But because there is no worker running yet, documents are basically plain images.

  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. Scan something or put a file into the IMPORTER_DIR.
  3. Wait a few minutes
  4. Now you should be able to select text in OCRed document!

Now you should be able to select text