# 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: ```yml 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: ```yml paperless_port: 38000 ``` You can expose the PostgreSQL port as well for backups via: ```yml paperless_db_port: 5432 ``` ### Run as You can run the docker containers as a different user via: ```yml 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): ```yml 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: ```yml paperless_setup_path: "~/paperless" ``` #### Ingestion and export Paplerless allows you to inport/export documents via directories: ```yml 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: ```yml 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: ```yml 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 ```yml - hosts: servers roles: - laurivan.paperless ``` ## License MIT ## Author Information This role was created in 2022 by [Laur Ivan](https://www.laurivan.com)