In this tutorial, we’ll cover the steps required to install Paperless-ngx on NixOS Latest. Paperless-ngx is a self-hosted, open-source, document management system that is specifically designed for creating a paperless office.
Before we begin the installation process, there are a few prerequisites that need to be fulfilled:
The first step is to install all the necessary dependencies that Paperless-ngx requires. This can be done by running the following command:
sudo nix-env -iA nixos.pkgs.python37Packages.virtualenv \
nixos.pkgs.buildPackages.libjpeg-turbo nixos.pkgs.tesseract
Next, we need to download the latest stable version of Paperless-ngx. It can be downloaded from the official Github repository using the following command:
git clone https://github.com/jonaswinkler/paperless-ng
Once the download is complete, CD into the paperless-ng directory:
cd paperless-ng
It is best practice to install Paperless-ngx in a virtual environment. This helps reduce the chance of dependency conflicts. The virtual environment can be created using the following command:
python3 -m venv env
After the virtual environment is created, activate it with the following command:
source env/bin/activate
With the virtual environment activated, we can now install Paperless-ngx:
pip install -r requirements.txt
Next, we need to configure Paperless-ngx. Copy the sample.env file to .env:
cp sample.env .env
Open the .env file and configure any necessary settings.
Paperless-ngx requires a database to store its data in. By default, Paperless-ngx uses SQLite. However, other databases can be used as well. In this tutorial, we’ll be using SQLite.
Create the database by running the following command:
python manage.py migrate
Finally, we can run Paperless-ngx:
python manage.py runserver
And that’s it! Paperless-ngx should now be accessible from your web browser at http://localhost:8000/.
In this tutorial, we’ve covered how to install Paperless-ngx on NixOS Latest. With Paperless-ngx installed, you can create a paperless office and manage all your documents in a digital form.
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!