Go to file
Laur Ivan a659a3c52a Add readme.
Fix linting.
Remove posrgresql port by default.
2022-10-07 14:50:14 +02:00
defaults Add readme. 2022-10-07 14:50:14 +02:00
handlers Initial commit. 2022-10-07 14:31:40 +02:00
meta Initial commit. 2022-10-07 14:31:40 +02:00
molecule Initial commit. 2022-10-07 14:31:40 +02:00
tasks Add readme. 2022-10-07 14:50:14 +02:00
templates Initial commit. 2022-10-07 14:31:40 +02:00
tests Initial commit. 2022-10-07 14:31:40 +02:00
vars Initial commit. 2022-10-07 14:31:40 +02:00
.gitignore Initial commit. 2022-10-07 14:31:40 +02:00
.travis.yml Initial commit. 2022-10-07 14:31:40 +02:00
.yamllint Initial commit. 2022-10-07 14:31:40 +02:00
LICENSE Initial commit. 2022-10-07 14:31:40 +02:00
README.md Add readme. 2022-10-07 14:50:14 +02:00
TODO.md Initial commit. 2022-10-07 14:31:40 +02:00

laurivan.paperless

This role installs paperless-ngx via docker-compose.

Requirements

You need to have a machine capable of running docker and docker-compose.

Role Variables

This role uses the variables listed below, along with default values (see defaults/main.yml).

Docker

This role allows you to select versions of the various docker images used by paperless-ngx:

paperless_image_version_redis: "7"
paperless_image_version_gotenberg: "7.4"
paperless_image_version_tika: "latest"
paperless_image_version_paperless: "latest"

Ports

By default, only paperless UI is exposed:

paperless_port: 38000

You can expose the PostgreSQL port as well for backups via:

paperless_db_port: 5432

Run as

You can run the docker containers as a different user via:

paperless_uid:
paperless_gid:

If these values are empty, the current ansible user is used :)

Credentials

When you install paperless for the first time, you need to add a default admin user (username and password):

paperless_admin_user: "admin"
paperless_admin_password: "changeme"

Directories

Configuration

By default, all configuration files (e.g. docker-compose.yml) are placed in ~/paperless. You can change this via:

paperless_setup_path: "~/paperless"

Ingestion and export

Paplerless allows you to inport/export documents via directories:

paperless_consumer_path: "/mnt/documents-consume"
paperless_volume_consume: "{{ paperless_consumer_path }}/consume"
paperless_volume_export: "{{ paperless_consumer_path }}/export"

Docker persistence

You need to set up various volumes for data persistence. They are:

paperless_volume_base: "/mnt/documents"
paperless_volume_media: "{{ paperless_volume_base }}/media"
paperless_volume_metadata: "{{ paperless_volume_base }}/data"
paperless_volume_redis: "{{ paperless_volume_base }}/redis"
paperless_volume_db: "{{ paperless_volume_base }}/db"

Notes:

  1. The paperless_volume_base provided for convenience as default.
  2. The volumes are directory-based. If you want this role to support docker volumes, please do a pull request :)

Database

By default, this instance is configured with PostgreSQL:

paperless_image_version_db: "13-alpine"
paperless_db_host: "postgres"
paperless_db_port: 
paperless_db_user: "paperless"
paperless_db_password: "changeme"

If the value for paperless_db_host is not postgres, then the postgres container is not installed, and you need to provide a different DB.

Dependencies

No dependencies.

Example Playbook

- hosts: servers
  roles:
    - laurivan.paperless

License

MIT

Author Information

This role was created in 2022 by Laur Ivan