--- - 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_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_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