Paperless

From NixOS Wiki

Paperless-ngx is a community-supported open-source document management system that transforms your physical documents into a searchable online archive, allowing you to reduce paper clutter.

Setup

The following example configuration will enable Paperless locally

/etc/nixos/configuration.nix
environment.etc."paperless-admin-pass".text = "admin";
services.paperless = {
  enable = true;
  passwordFile = "/etc/paperless-admin-pass";
};

After applying the configuration you can access the instance via http://localhost:28981 and login with username admin and password admin. Another example below could be used on a server with an actual URL and some extra settings.

services.paperless = {
  enable = true;
  consumptionDirIsPublic = true;
  address = "paperless.example.com";
  settings = {
    PAPERLESS_CONSUMER_IGNORE_PATTERN = [
      ".DS_STORE/*"
      "desktop.ini"
    ];
    PAPERLESS_OCR_LANGUAGE = "deu+eng";
    PAPERLESS_OCR_USER_ARGS = {
      optimize = 1;
      pdfa_image_compression = "lossless";
    };
  };
};

After the installation, you can set an admin user yourself via the following command on the server

sudo /var/lib/paperless/paperless-manage createsuperuser