From d3427888a11e963e39f7d5663ca74bcf6fab2ffb Mon Sep 17 00:00:00 2001 From: Thedro Neely Date: Tue, 24 Mar 2020 17:54:36 -0400 Subject: roles/paperless: Add paperless --- roles/paperless/main.yml | 107 +++++++++++++++++++++++++++++++++++++++++++++++ roles/variables.yml | 6 +++ 2 files changed, 113 insertions(+) create mode 100644 roles/paperless/main.yml diff --git a/roles/paperless/main.yml b/roles/paperless/main.yml new file mode 100644 index 0000000..9e9cf72 --- /dev/null +++ b/roles/paperless/main.yml @@ -0,0 +1,107 @@ +--- +- name: Container Setup + + vars: + lxc_base: ansible-alpine3.11 + lxc_name: test + + import_playbook: ../common/tasks/lxc.yml + +- name: Installing Paperless + hosts: test + + vars_files: + - ../variables.yml + + tasks: + + - name: Ensuring group exists + group: + name: "{{ paperless_user }}" + state: present + + - name: Creating user and making home directory + user: + system: yes + state: present + name: "{{ paperless_user }}" + groups: "{{ paperless_user }}" + home: "{{ paperless_home }}" + + - name: Installing the required packages + apk: + state: present + update_cache: yes + name: + - sudo + - git + - supervisor + - syncthing + - optipng + - unpaper + - imagemagick + - tesseract-ocr + - qpdf + - libxslt + - postgresql-dev + - gcc + - g++ + - python3-dev + - poppler-dev + - jpeg-dev + - qpdf-dev + - libxslt-dev + + - name: Creating directories + file: + path: "{{ item }}" + state: directory + owner: "{{ paperless_user }}" + group: "{{ paperless_user }}" + with_items: + - /opt/ocrmypdf + + - block: + + - name: Cloning application source + git: + repo: "{{ paperless_repository }}" + dest: "{{ paperless_home }}" + version: "{{ paperless_version }}" + + - name: Installing application requirements + shell: | + python3 -m venv . + . bin/activate + pip install --upgrade pip + pip install --requirement requirements.txt + args: + chdir: "{{ paperless_home }}" + creates: bin/activate + + - name: Installing ocrmypdf + shell: | + python3 -m venv . + . bin/activate + pip install --upgrade pip + pip install -Iv ocrmypdf=={{ paperless_ocrmypdf_version }} + args: + chdir: /opt/ocrmypdf + creates: bin/activate + + become: true + become_user: "{{ paperless_user }}" + + - name: Cleaning up packages + apk: + state: absent + name: + - postgresql-dev + - gcc + - g++ + - python3-dev + - poppler-dev + - jpeg-dev + - qpdf-dev + - libxslt-dev + changed_when: false diff --git a/roles/variables.yml b/roles/variables.yml index 727ebff..1a45051 100644 --- a/roles/variables.yml +++ b/roles/variables.yml @@ -33,3 +33,9 @@ mkdocs_material_version: 4.6.3 k8s_user: k8s k8s_home: "/home/{{ k8s_username }}" k8s_version: 1.17.0 + +paperless_user: paperless +paperless_home: "/opt/{{ paperless_user }}" +paperless_version: b741f1e5046e51fadce374796431a759da4c670a +paperless_repository: https://github.com/tdro/paperless +paperless_ocrmypdf_version: 9.6.1 -- cgit v1.2.3