--- - name: Install apt packages apt: name: - build-essential - nginx - python-pip - libpq-dev - libxml2-dev - libxslt1-dev - libsasl2-dev - libldap2-dev - libssl-dev - libjpeg-dev - libfreetype6-dev - zlib1g-dev - zip - unzip - libcups2-dev - postgresql - postgresql-contrib - postgresql-common - virtualenv - name: Create odoo user user: name: odoo comment: Odoo 8 user shell: /bin/bash - name: Install python packages pip: virtualenv: /home/odoo/.virtualenvs/odoo virtualenv_python: python2.7 name: - pandas - num2words - paramiko - html2text - xlsxwriter - progressbar2 - xlrd - GitPython==0.3.2 - psycopg2-binary==2.8.6 - pycups==1.9.74 - 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 - name: Clone current Odoo code git: repo: 'ssh://git@gitea.agofer.net:22001/Agofer/odoo_running_code.git' dest: /opt depth: 1 - name: Install python requirements for Odoo pip: virtualenv: /home/odoo/.virtualenvs/odoo virtualenv_python: python2.7 requirements: /opt/odoo_agofer/requirements.txt - name: Update python packages pip: virtualenv: /home/odoo/.virtualenvs/odoo virtualenv_python: python2.7 state: latest name: - python-dateutil - name: Download and install wkhtmltopdf apt: deb: https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_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/db/latest_Agofer.gz dest: /home/odoo/latest_Agofer.sql.gz - name: Uncompress database backup due to Ansible bug command: cmd: gunzip /home/odoo/latest_Agofer.sql.gz creates: /home/odoo/latest_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/latest_Agofer.sql - name: Copy SQL script that disconnects Odoo from email and ftp servers copy: src: remove_remote_connections.sql dest: /home/odoo/remove_remote_connections.sql mode: '0644' - name: Update database to remove connection to servers become: true become_user: postgres postgresql_query: db: Agofer path_to_script: /home/odoo/remove_remote_connections.sql - name: Install Aeroo libs pip: virtualenv: /home/odoo/.virtualenvs/odoo virtualenv_python: python2.7 name: 'git+https://github.com/aeroo/aeroolib.git@py2.x' - 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/odoo8 mode: '0644' - file: state: link src: /etc/nginx/sites-available/odoo8 dest: /etc/nginx/sites-enabled/odoo8 - 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 copy: src: odoo.conf dest: /etc/odoo_agofer-server.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