mirror of
https://git.lapiole.org/dani/ansible-roles.git
synced 2025-04-12 00:03:17 +02:00
114 lines
3.2 KiB
YAML
114 lines
3.2 KiB
YAML
---
|
|
|
|
- name: Install packages
|
|
package: name={{ odoo_packages }}
|
|
tags: odoo
|
|
|
|
- when: odoo_install_mode != 'none'
|
|
block:
|
|
- name: Clone or update the repo
|
|
git:
|
|
repo: "{{ odoo_git_url }}"
|
|
dest: "{{ odoo_root_dir }}/app"
|
|
depth: 1
|
|
version: "{{ odoo_version }}"
|
|
force: True
|
|
notify: restart odoo-server
|
|
|
|
- name: Add ACL
|
|
shell: |
|
|
setfacl -R -b -k {{ odoo_root_dir }}
|
|
setfacl -m u:nginx:X {{ odoo_root_dir }}
|
|
setfacl -R -m u:nginx:rX {{ odoo_root_dir }}/data {{ odoo_root_dir }}/app/addons {{ odoo_root_dir }}/app/odoo/addons {{ odoo_root_dir }}/enterprise
|
|
|
|
- name: Wipe the venv
|
|
file: path={{odoo_root_dir }}/venv state=absent
|
|
|
|
tags: odoo
|
|
|
|
- when: odoo_install_mode != 'none' and odoo_enterprise
|
|
block:
|
|
- name: Clone or update the enterprise repo
|
|
git:
|
|
repo: "{{ odoo_enterprise_git_url }}"
|
|
dest: "{{ odoo_root_dir }}/enterprise"
|
|
depth: 1
|
|
version: "{{ odoo_version }}"
|
|
force: True
|
|
notify: restart odoo-server
|
|
tags: odoo
|
|
|
|
|
|
- name: Create the virtualenv
|
|
pip:
|
|
state: "{{ (odoo_install_mode == 'none') | ternary('present', 'latest') }}"
|
|
virtualenv: "{{ odoo_root_dir }}/venv"
|
|
virtualenv_command: "{{ odoo_venv_command }}"
|
|
requirements: "{{ odoo_root_dir }}/app/requirements.txt"
|
|
environment:
|
|
PATH: "{{ (pg_version | default('default') == 'default') | ternary('', '/usr/pgsql-' ~ pg_version ~ '/bin:') }}/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
|
|
tags: odoo
|
|
|
|
- name: Install additional modules in the venv
|
|
pip:
|
|
name: "{{ item }}"
|
|
state: "{{ (odoo_install_mode == 'none') | ternary('present', 'latest') }}"
|
|
virtualenv: "{{ odoo_root_dir }}/venv"
|
|
virtualenv_command: "{{ odoo_venv_command }}"
|
|
loop:
|
|
- phonenumbers
|
|
- python-jose
|
|
- flanker
|
|
- redis
|
|
- pdfminer
|
|
- dnsq
|
|
tags: odoo
|
|
|
|
# This is needed as the first import from flanker needs to create files not writeable by the Odoo user
|
|
# See https://github.com/Tecnativa/doodba/pull/487
|
|
- name: Finish flanker install
|
|
command: "{{ odoo_root_dir }}/venv/bin/python3 -c 'from flanker.addresslib import address'"
|
|
changed_when: False
|
|
tags: odoo
|
|
|
|
- name: Create the PostgreSQL role
|
|
postgresql_user:
|
|
db: postgres
|
|
name: "{{ odoo_db_user }}"
|
|
password: "{{ odoo_db_pass }}"
|
|
login_host: "{{ odoo_db_server }}"
|
|
login_user: sqladmin
|
|
login_password: "{{ pg_admin_pass }}"
|
|
role_attr_flags: "LOGIN{{ odoo_db_manager | ternary(',CREATEDB,SUPERUSER','') }}"
|
|
tags: odoo
|
|
|
|
- name: Create the PostgreSQL database
|
|
postgresql_db:
|
|
name: "{{ odoo_db_name }}"
|
|
encoding: UTF-8
|
|
template: template0
|
|
owner: "{{ odoo_db_user }}"
|
|
login_host: "{{ odoo_db_server }}"
|
|
login_user: sqladmin
|
|
login_password: "{{ pg_admin_pass }}"
|
|
tags: odoo
|
|
|
|
- name: Deploy odoo service file
|
|
template: src=odoo-server.service.j2 dest=/etc/systemd/system/odoo-server.service
|
|
register: odoo_unit
|
|
notify: restart odoo-server
|
|
tags: odoo
|
|
|
|
- name: Reload systemd
|
|
command: systemctl daemon-reload
|
|
when: odoo_unit.changed
|
|
tags: odoo
|
|
|
|
- name: Install backup hooks
|
|
template: src={{ item }}-backup.sh.j2 dest=/etc/backup/{{ item }}.d/odoo.sh mode=750
|
|
loop:
|
|
- pre
|
|
- post
|
|
tags: odoo
|
|
|