Papermerge is an open-source document management system that helps you organize, store, and manage your documents. If you're running OpenBSD and want to install Papermerge, this tutorial will walk you through the steps.
Before we begin, make sure your OpenBSD system is up-to-date by running:
sudo pkg_add -vvvvu
You'll also need to have the following packages installed:
python
postgresql_server
postgresql-contrib
py3-virtualenv
py3-pip
py3-wheel
npm
.You can install these packages by running:
sudo pkg_add -vvvvv python postgresql_server postgresql-contrib py3-virtualenv py3-pip py3-wheel npm
Papermerge has some optional dependencies that can enhance its functionality. You can install these dependencies by running:
sudo pkg_add -vvvvv poppler-utils tesseract tesseract-data
Papermerge uses PostgreSQL as its database backend. If you don't have PostgreSQL installed, you can do so by running:
sudo pkg_add -vvvvv postgresql-server postgresql-contrib
Next, we need to initialize the database:
sudo /usr/local/bin/initdb -D /var/postgresql/data
Once PostgreSQL is initialized, start the PostgreSQL server:
sudo rcctl enable postgresql
sudo rcctl start postgresql
Next, log in to the PostgreSQL server:
sudo su -l postgres -c "psql"
Create a new user and a new database:
CREATE USER papermerge WITH PASSWORD 'mypassword';
CREATE DATABASE papermerge OWNER papermerge;
ALTER USER papermerge CREATEDB;
Exit the PostgreSQL prompt by typing \q
.
Download the latest version of Papermerge from the official website:
cd /tmp
sudo curl -LO https://github.com/ciur/papermerge/archive/master.zip
sudo unzip master.zip
Move to the extracted directory:
cd papermerge-master
Create a virtual environment for Papermerge:
sudo pyvenv venv
. venv/bin/activate
Install the required Python packages:
sudo pip install -r requirements.txt
Copy the default configuration file:
sudo cp contrib/papermerge.ini.default conf/papermerge.ini
Edit conf/papermerge.ini
to configure Papermerge as per your requirements. Set the SQLALCHEMY_DATABASE_URI
variable to your PostgreSQL database connection string:
SQLALCHEMY_DATABASE_URI = postgresql://papermerge:mypassword@localhost/papermerge
If you installed the optional dependencies, also add the following lines:
OCR_DEFAULT_LANGUAGE = 'eng'
OCR_BIN = '/usr/local/bin/tesseract'
If you want to enable email notifications, set the SMTP_*
variables to your SMTP server settings.
Next, create the database schema:
sudo python manage.py create_db
Create an admin user:
sudo python manage.py create_user admin --password admin --admin
Compile the static assets:
sudo npm i && sudo npm run build
Start the server:
sudo python manage.py runserver
By default, Papermerge runs on port 8000. Access the Papermerge web interface by opening your web browser and visiting http://localhost:8000/
. Log in with the admin account you created earlier.
Congratulations! You've successfully installed Papermerge on OpenBSD.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!