203 lines
4.1 KiB
YAML
203 lines
4.1 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==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
|
|
|