mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-02 13:45:10 -05:00
113 lines
3.0 KiB
YAML
113 lines
3.0 KiB
YAML
---
|
|
- name: install dev dependencies
|
|
apt:
|
|
pkg:
|
|
- git
|
|
- npm
|
|
- gettext
|
|
|
|
- name: create output directories
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: "{{ paperlessng_system_user }}"
|
|
group: "{{ paperlessng_system_group }}"
|
|
mode: "750"
|
|
with_items:
|
|
- "{{ tempdir.path }}/paperless-ng"
|
|
- "{{ tempdir.path }}/paperless-ng/scripts"
|
|
|
|
- block:
|
|
- name: create temporary git directory
|
|
tempfile:
|
|
state: directory
|
|
path: "{{ paperlessng_directory }}"
|
|
register: gitdir
|
|
|
|
- name: pull paperless-ng
|
|
git:
|
|
repo: https://github.com/paperless-ngx/paperless-ngx.git
|
|
dest: "{{ gitdir.path }}"
|
|
version: "{{ paperlessng_version }}"
|
|
refspec: "+refs/pull/*:refs/pull/*"
|
|
|
|
- name: compile frontend
|
|
command:
|
|
cmd: "{{ item }}"
|
|
args:
|
|
chdir: "{{ gitdir.path }}/src-ui"
|
|
failed_when: false
|
|
with_items:
|
|
- npm install -g @angular/cli
|
|
- npm install
|
|
- ./node_modules/.bin/ng build --prod
|
|
|
|
- name: copy application into place
|
|
copy:
|
|
src: "{{ gitdir.path }}/{{ item.src }}"
|
|
remote_src: yes
|
|
dest: "{{ tempdir.path }}/paperless-ng/{{ item.dest | default('') }}"
|
|
with_items:
|
|
- src: CONTRIBUTING.md
|
|
- src: LICENSE
|
|
- src: Pipfile
|
|
- src: Pipfile.lock
|
|
- src: README.md
|
|
- src: requirements.txt
|
|
- src: gunicorn.conf.py
|
|
- src: paperless.conf.example
|
|
dest: "paperless.conf"
|
|
|
|
- name: glob all scripts
|
|
find:
|
|
paths: ["{{ gitdir.path }}/scripts/"]
|
|
patterns:
|
|
- "*.service"
|
|
- "*.sh"
|
|
register: glob
|
|
|
|
- name: copy scripts
|
|
copy:
|
|
src: "{{ item.path }}"
|
|
remote_src: yes
|
|
dest: "{{ tempdir.path }}/paperless-ng/scripts/"
|
|
with_items:
|
|
- "{{ glob.files }}"
|
|
|
|
- name: copy sources
|
|
command:
|
|
cmd: "cp -r src/ {{ tempdir.path }}/paperless-ng/src"
|
|
args:
|
|
chdir: "{{ gitdir.path }}"
|
|
|
|
- name: create paperlessng venv
|
|
command:
|
|
cmd: "python3 -m virtualenv {{ gitdir.path }}/.venv/ -p /usr/bin/python3"
|
|
|
|
- name: install paperlessng requirements
|
|
command:
|
|
cmd: "{{ gitdir.path }}/.venv/bin/python3 -m pip install -r {{ gitdir.path }}/requirements.txt"
|
|
|
|
- name: compile messages
|
|
command: "{{ gitdir.path }}/.venv/bin/python3 manage.py compilemessages"
|
|
args:
|
|
chdir: "{{ tempdir.path }}/paperless-ng/src/"
|
|
|
|
- name: collect static files
|
|
command: "{{ gitdir.path }}/.venv/bin/python3 manage.py collectstatic --no-input"
|
|
args:
|
|
chdir: "{{ tempdir.path }}/paperless-ng/src/"
|
|
|
|
- name: remove pycache directories
|
|
shell: find . -name __pycache__ | xargs rm -r
|
|
args:
|
|
chdir: "{{ tempdir.path }}"
|
|
|
|
- name: remove temporary git directory
|
|
file:
|
|
path: "{{ gitdir.path }}"
|
|
state: absent
|
|
|
|
become: yes
|
|
become_user: "{{ paperlessng_system_user }}"
|