|
|
|
---
|
|
|
|
|
|
|
|
- name: Install needed tools
|
|
|
|
yum:
|
|
|
|
name:
|
|
|
|
- git
|
|
|
|
- gcc
|
|
|
|
- openssl-devel
|
|
|
|
- libffi-devel
|
|
|
|
- openldap-devel
|
|
|
|
- libjpeg-turbo-devel
|
|
|
|
- libpng-devel
|
|
|
|
- libexif
|
|
|
|
- ghostscript
|
|
|
|
- gnupg1
|
|
|
|
- graphviz
|
|
|
|
- fuse-libs
|
|
|
|
- file-libs
|
|
|
|
- libreoffice
|
|
|
|
- poppler-utils
|
|
|
|
- sane-backends
|
|
|
|
- tesseract
|
|
|
|
- tesseract-langpack-fra
|
|
|
|
- python3-devel
|
|
|
|
- python3-pip
|
|
|
|
- python3-virtualenv
|
|
|
|
- python-setuptools
|
|
|
|
tags: mayan
|
|
|
|
|
|
|
|
- name: Install MySQL support
|
|
|
|
yum:
|
|
|
|
name:
|
|
|
|
- mysql-devel
|
|
|
|
- MySQL-python
|
|
|
|
when: mayan_db_engine == 'mysql'
|
|
|
|
tags: mayan
|
|
|
|
|
|
|
|
# WHen using upstream MariaDB repo, we have to install MariaDB-shared
|
|
|
|
- name: Install MariaDB shared libs
|
|
|
|
yum:
|
|
|
|
name:
|
|
|
|
- MariaDB-shared
|
|
|
|
when:
|
|
|
|
- mayan_db_engine == 'mysql'
|
|
|
|
- mysql_mariadb_version is defined and mysql_mariadb_version != 'default'
|
|
|
|
tags: mayan
|
|
|
|
|
|
|
|
- name: Install PostgreSQL support
|
|
|
|
yum:
|
|
|
|
name:
|
|
|
|
- postgresql-devel
|
|
|
|
- postgresql13
|
|
|
|
- python-psycopg2
|
|
|
|
when: mayan_db_engine == 'postgresql'
|
|
|
|
tags: mayan
|
|
|
|
|
|
|
|
- name: Wipe the venv on upgrades
|
|
|
|
file: path={{ mayan_root_dir }}/venv state=absent
|
|
|
|
when: mayan_install_mode=='upgrade'
|
|
|
|
tags: mayan
|
|
|
|
|
|
|
|
- name: Create the venv dir
|
|
|
|
file: path={{ mayan_root_dir }}/venv state=directory
|
|
|
|
tags: mayan
|
|
|
|
|
|
|
|
- name: Create the virtualenv
|
|
|
|
pip:
|
|
|
|
name:
|
|
|
|
- pip
|
|
|
|
- redis==3.5.3
|
|
|
|
- python-ldap
|
|
|
|
- django_auth_ldap
|
|
|
|
- "{{ (mayan_db_engine == 'mysql') | ternary('mysql','psycopg2==2.8.6') }}"
|
|
|
|
virtualenv: "{{ mayan_root_dir }}/venv"
|
|
|
|
virtualenv_command: /usr/bin/virtualenv-3
|
|
|
|
virtualenv_python: /usr/bin/python3
|
|
|
|
tags: mayan
|
|
|
|
|
|
|
|
- name: Install mayan-edms wrapper
|
|
|
|
template: src=mayan-edms.j2 dest=/usr/local/bin/mayan-edms mode=755
|
|
|
|
tags: mayan
|
|
|
|
|
|
|
|
- name: Install Mayan EDMS
|
|
|
|
pip:
|
|
|
|
name:
|
|
|
|
- mayan-edms=={{ mayan_version }}
|
|
|
|
virtualenv: "{{ mayan_root_dir }}/venv"
|
|
|
|
virtualenv_command: /usr/bin/virtualenv-3
|
|
|
|
virtualenv_python: /usr/bin/python3
|
|
|
|
tags: mayan
|
|
|
|
|
|
|
|
- when: mayan_db_engine == 'mysql'
|
|
|
|
block:
|
|
|
|
- import_tasks: ../includes/webapps_create_mysql_db.yml
|
|
|
|
vars:
|
|
|
|
- db_name: "{{ mayan_db_name }}"
|
|
|
|
- db_user: "{{ mayan_db_user }}"
|
|
|
|
- db_server: "{{ mayan_db_server }}"
|
|
|
|
- db_pass: "{{ mayan_db_pass }}"
|
|
|
|
tags: mayan
|
|
|
|
|
|
|
|
- when: mayan_db_engine == 'postgresql'
|
|
|
|
block:
|
|
|
|
- name: Create the PostgreSQL role
|
|
|
|
postgresql_user:
|
|
|
|
db: postgres
|
|
|
|
name: "{{ mayan_db_user }}"
|
|
|
|
password: "{{ mayan_db_pass }}"
|
|
|
|
login_host: "{{ mayan_db_server }}"
|
|
|
|
login_user: sqladmin
|
|
|
|
login_password: "{{ pg_admin_pass }}"
|
|
|
|
|
|
|
|
- name: Create the PostgreSQL database
|
|
|
|
postgresql_db:
|
|
|
|
name: "{{ mayan_db_name }}"
|
|
|
|
encoding: UTF-8
|
|
|
|
template: template0
|
|
|
|
owner: "{{ mayan_db_user }}"
|
|
|
|
login_host: "{{ mayan_db_server }}"
|
|
|
|
login_user: sqladmin
|
|
|
|
login_password: "{{ pg_admin_pass }}"
|
|
|
|
tags: mayan
|
|
|
|
|
|
|
|
- name: Initialize or upgrade database
|
|
|
|
command: >-
|
|
|
|
{{ mayan_root_dir }}/venv/bin/python
|
|
|
|
{{ mayan_root_dir }}/venv/bin/mayan-edms.py
|
|
|
|
{{ (mayan_install_mode == 'install') | ternary('initialsetup','performupgrade') }}
|
|
|
|
environment:
|
|
|
|
- MAYAN_MEDIA_ROOT: "{{ mayan_root_dir }}/data"
|
|
|
|
- MAYAN_DATABASE_ENGINE: django.db.backends.{{ (mayan_db_engine == 'mysql') | ternary('mysql','postgresql') }}
|
|
|
|
- MAYAN_DATABASE_NAME: "{{ mayan_db_name }}"
|
|
|
|
- MAYAN_DATABASE_PASSWORD: "{{ mayan_db_pass }}"
|
|
|
|
- MAYAN_DATABASE_USER: "{{ mayan_db_user }}"
|
|
|
|
- MAYAN_DATABASE_HOST: "{{ mayan_db_server }}"
|
|
|
|
when: mayan_install_mode != 'none'
|
|
|
|
tags: mayan
|
|
|
|
|
|
|
|
- name: Deploy systemd units
|
|
|
|
template: src={{ item }}.j2 dest=/etc/systemd/system/{{ item }}
|
|
|
|
loop:
|
|
|
|
- mayan-edms-web.service
|
|
|
|
- mayan-edms-worker-fast.service
|
|
|
|
- mayan-edms-worker-medium.service
|
|
|
|
- mayan-edms-worker-slow.service
|
|
|
|
- mayan-edms-beat.service
|
|
|
|
register: mayan_systemd_units
|
|
|
|
notify: restart mayan-edms
|
|
|
|
tags: mayan
|
|
|
|
|
|
|
|
- name: Reload systemd
|
|
|
|
systemd: daemon_reload=True
|
|
|
|
when: mayan_systemd_units.results | selectattr('changed', 'equalto', True) | list | length > 0
|
|
|
|
tags: mayan
|
|
|
|
|
|
|
|
- name: Install pre/post backup scripts
|
|
|
|
template: src={{ item }}_backup.sh.j2 dest=/etc/backup/{{ item }}.d/mayan_edms.sh mode=750
|
|
|
|
loop:
|
|
|
|
- pre
|
|
|
|
- post
|
|
|
|
tags: mayan
|
|
|
|
|
|
|
|
- name: Deploy auth configuration
|
|
|
|
template: src=auth.py.j2 dest={{ mayan_root_dir }}/data/mayan_settings/auth.py group={{ mayan_user }} mode=640
|
|
|
|
when: mayan_ldap_auth
|
|
|
|
notify: restart mayan-edms
|
|
|
|
tags: mayan
|