150 lines
3.0 KiB
YAML
150 lines
3.0 KiB
YAML
---
|
|
|
|
- name: Install apt packages
|
|
apt:
|
|
name: '{{ apt_packages }}'
|
|
|
|
- name: Create odoo user
|
|
user:
|
|
name: odoo
|
|
comment: Odoo 14 user
|
|
shell: /bin/bash
|
|
|
|
- name: Prepare folders for Odoo
|
|
file:
|
|
path: '{{ item }}'
|
|
state: directory
|
|
mode: '0755'
|
|
owner: odoo
|
|
loop:
|
|
- /var/log/odoo
|
|
- /opt
|
|
- /home/odoo/.local/share/Odoo/filestore/agofer
|
|
- /home/odoo/src
|
|
- /etc/odoo
|
|
|
|
- name: Install python packages
|
|
pip:
|
|
virtualenv: /home/odoo/.venv/odoo
|
|
virtualenv_python: python3.8
|
|
virtualenv_command: python3.8 -m venv
|
|
name: '{{ python_packages }}'
|
|
|
|
- name: Clone current Odoo code
|
|
git:
|
|
repo: 'ssh://git@gitea.agofer.net:22001/Agofer/odoo14_running_code.git'
|
|
dest: /opt
|
|
depth: 1
|
|
|
|
- name: Install python requirements for Odoo
|
|
pip:
|
|
virtualenv: /home/odoo/.venv/odoo
|
|
virtualenv_python: python3.8
|
|
virtualenv_command: python3.8 -m venv
|
|
requirements: /opt/odoo/odoo/requirements.txt
|
|
|
|
- name: Download and install wkhtmltopdf
|
|
apt:
|
|
deb: https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.focal_amd64.deb
|
|
|
|
- name: Link wkhtmltopdf scripts
|
|
file:
|
|
dest: '/usr/bin/{{ item }}'
|
|
src: '/usr/local/bin/{{ item }}'
|
|
state: link
|
|
loop:
|
|
- wkhtmltopdf
|
|
- wkhtmltoimage
|
|
|
|
- name: Create odoo database user
|
|
become: true
|
|
become_user: postgres
|
|
postgresql_user:
|
|
name: '{{ item }}'
|
|
role_attr_flags: SUPERUSER
|
|
loop:
|
|
- odoo
|
|
- agofer
|
|
|
|
- name: Retrieve database backup
|
|
synchronize:
|
|
mode: pull
|
|
compress: no
|
|
src: rsync://backups.bogota.agofer/db14/db_odoo_agofer.gz
|
|
dest: /home/odoo/db_odoo_agofer.sql.gz
|
|
|
|
# name: Uncompress database backup due to Ansible bug
|
|
# command:
|
|
# cmd: gunzip /home/odoo/db_odoo_agofer.sql.gz
|
|
# creates: /home/odoo/db_odoo_agofer.sql
|
|
|
|
- name: Create database
|
|
become: true
|
|
become_user: postgres
|
|
postgresql_db:
|
|
name: agofer
|
|
owner: odoo
|
|
|
|
- name: Restore database
|
|
become: true
|
|
become_user: postgres
|
|
postgresql_db:
|
|
name: agofer
|
|
state: restore
|
|
target: /home/odoo/db_odoo_agofer.sql.gz
|
|
|
|
- name: Configure Odoo log rotation
|
|
copy:
|
|
src: logrotate
|
|
dest: /etc/logrotate.d/odoo
|
|
mode: '0644'
|
|
|
|
- name: Configure Nginx
|
|
copy:
|
|
src: custom_502.html
|
|
dest: /etc/nginx/custom_502.html
|
|
mode: '0644'
|
|
|
|
- copy:
|
|
src: nginx.conf
|
|
dest: /etc/nginx/sites-available/odoo14
|
|
mode: '0644'
|
|
|
|
- file:
|
|
state: link
|
|
src: /etc/nginx/sites-available/odoo14
|
|
dest: /etc/nginx/sites-enabled/odoo14
|
|
|
|
- file:
|
|
state: link
|
|
src: /etc/nginx/custom_502.html
|
|
dest: /usr/share/nginx/html/custom_502.html
|
|
|
|
- file:
|
|
state: absent
|
|
path: /etc/nginx/sites-enabled/default
|
|
|
|
- name: Restart Nginx
|
|
systemd:
|
|
name: nginx
|
|
state: restarted
|
|
|
|
- name: Configure Odoo
|
|
template:
|
|
src: odoo.conf.j2
|
|
dest: /etc/odoo/odoo.conf
|
|
mode: '0640'
|
|
owner: odoo
|
|
group: odoo
|
|
|
|
- copy:
|
|
src: systemd_unit
|
|
dest: /etc/systemd/system/odoo.service
|
|
|
|
- name: Enable and restart Odoo service
|
|
systemd:
|
|
name: odoo
|
|
enabled: true
|
|
state: started
|
|
|