odoo/setup/odoo-playboook/roles/odoo/tasks/install.yml

99 lines
2.6 KiB
YAML

---
- name: Install required tools
apt: pkg={{ item }}
state=installed
update_cache={{ odoo_apt_update_cache }}
cache_valid_time={{ odoo_apt_cache_valid_time }}
with_items: "{{ odoo_required_tools }}"
tags:
- odoo_required_tools
- name: Add Odoo instance user
user: name={{ odoo_user }} shell=/bin/bash
password={{ odoo_user_passwd }} update_password=on_create
system={{ odoo_user_system }}
generate_ssh_key=yes ssh_key_bits=2048
move_home=yes
home=/data/{{ odoo_user }}
tags:
- odoo_user
- name: Allow odoo user to have passwordless sudo for restart
lineinfile:
dest: /etc/sudoers
state: present
regexp: '^odoo$'
line: '{{ odoo_instance }} ALL=(root) NOPASSWD: /etc/init.d/{{ odoo_instance }}'
validate: visudo -cf %s
- name: Create log directory
file: path={{ odoo_logdir }} state=directory
owner={{ odoo_user }} group={{ odoo_user }} force=no
tags:
- odoo_log
- name: Create log file
file:
path: "{{ odoo_logdir }}/{{ odoo_service }}.log"
state: touch
mode: "u=rw,g=rw,o=r"
owner: "{{ odoo_user }}"
group: "{{ odoo_user }}"
- name: Create sym link to logfile
file:
src: "{{ odoo_logdir }}/{{ odoo_service }}.log"
dest: "/data/{{ odoo_user }}/log"
owner: "{{ odoo_user }}"
group: "{{ odoo_user }}"
state: link
tags:
- odoo_log
- import_tasks: install_extra.yml
when: odoo_user_sshkeys is defined and odoo_user_sshkeys
tags:
- odoo_install_extra
- name: Project repository already cloned?
stat: path={{ odoo_repo_dest }}
register: project_path
tags:
- odoo_project
- name: Clone project repository (Git)
become: yes
become_user: "{{ odoo_user }}"
git: repo={{ odoo_repo_url }}
dest={{ odoo_repo_dest }}
version={{ odoo_repo_rev | string }}
update={{ project_path.stat.exists == False and 'yes'
or (odoo_repo_update and 'yes' or 'no') }}
depth={{ odoo_repo_depth }}
accept_hostkey=yes
key_file="/data/{{ odoo_user }}/.ssh/id_rsa"
when: odoo_repo_type == 'git' and odoo_repo_url
notify: Restart Odoo
tags:
- odoo_project
- name: Standard installation
import_tasks: install_standard.yml
when: odoo_install_type == 'standard'
tags:
- odoo_install_type_standard
- name: Install datenpol scripts
import_tasks: install_datenpol_scripts.yml
when: odoo_install_type == 'standard'
tags:
- odoo_install_dp_scripts
- name: Install NPM packages
import_tasks: install_npm.yml
when: (odoo_version | int) >= 9
tags:
- odoo
- odoo_packages