This repository has been archived on 2020-10-27. You can view files and clone it, but cannot push or open issues or pull requests.
ansible-role-odoo8container/roles/odoo/tasks/main.yml

195 lines
4.0 KiB
YAML

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