summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThedro Neely <thedroneely@gmail.com>2020-03-24 17:54:36 -0400
committerThedro Neely <thedroneely@gmail.com>2020-03-24 17:54:36 -0400
commitd3427888a11e963e39f7d5663ca74bcf6fab2ffb (patch)
tree29bea1af8c63fcac81c92194acdbb9aa5f5e0d45
parent144d8336ec6871147e9b3e2ecb712288585e85dd (diff)
downloadplaybooks-d3427888a11e963e39f7d5663ca74bcf6fab2ffb.tar.gz
playbooks-d3427888a11e963e39f7d5663ca74bcf6fab2ffb.tar.bz2
playbooks-d3427888a11e963e39f7d5663ca74bcf6fab2ffb.zip
roles/paperless: Add paperless
-rw-r--r--roles/paperless/main.yml107
-rw-r--r--roles/variables.yml6
2 files changed, 113 insertions, 0 deletions
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