99 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
| ---
 | |
| 
 | |
| - name: Install required tools
 | |
|   apt:  pkg={{ item }}
 | |
|         state=installed
 | |
|         update_cache={{ odoo_apt_update_cache }}
 | |
|         cache_valid_time={{ odoo_apt_cache_valid_time }}
 | |
|   with_items: "{{ odoo_required_tools }}"
 | |
|   tags:
 | |
|     - odoo_required_tools
 | |
| 
 | |
| - name: Add Odoo instance user
 | |
|   user: name={{ odoo_user }} shell=/bin/bash
 | |
|         password={{ odoo_user_passwd }} update_password=on_create
 | |
|         system={{ odoo_user_system }}
 | |
|         generate_ssh_key=yes ssh_key_bits=2048
 | |
|         move_home=yes
 | |
|         home=/data/{{ odoo_user }}
 | |
|   tags:
 | |
|     - odoo_user
 | |
| 
 | |
| - name: Allow odoo user to have passwordless sudo for restart
 | |
|   lineinfile:
 | |
|     dest: /etc/sudoers
 | |
|     state: present
 | |
|     regexp: '^odoo$'
 | |
|     line: '{{ odoo_instance }} ALL=(root) NOPASSWD: /etc/init.d/{{ odoo_instance }}'
 | |
|     validate: visudo -cf %s
 | |
| 
 | |
| - name: Create log directory
 | |
|   file: path={{ odoo_logdir }} state=directory
 | |
|         owner={{ odoo_user }} group={{ odoo_user }} force=no
 | |
|   tags:
 | |
|     - odoo_log
 | |
| 
 | |
| - name: Create log file
 | |
|   file:
 | |
|     path: "{{ odoo_logdir }}/{{ odoo_service }}.log"
 | |
|     state: touch
 | |
|     mode: "u=rw,g=rw,o=r"
 | |
|     owner: "{{ odoo_user }}"
 | |
|     group: "{{ odoo_user }}"
 | |
| 
 | |
| - name: Create sym link to logfile
 | |
|   file:
 | |
|     src: "{{ odoo_logdir }}/{{ odoo_service }}.log"
 | |
|     dest: "/data/{{ odoo_user }}/log"
 | |
|     owner: "{{ odoo_user }}"
 | |
|     group: "{{ odoo_user }}"
 | |
|     state: link
 | |
|   tags:
 | |
|     - odoo_log
 | |
| 
 | |
| - import_tasks: install_extra.yml
 | |
|   when: odoo_user_sshkeys is defined and odoo_user_sshkeys
 | |
|   tags:
 | |
|     - odoo_install_extra
 | |
| 
 | |
| - name: Project repository already cloned?
 | |
|   stat: path={{ odoo_repo_dest }}
 | |
|   register: project_path
 | |
|   tags:
 | |
|     - odoo_project
 | |
| 
 | |
| - name: Clone project repository (Git)
 | |
|   become: yes
 | |
|   become_user: "{{ odoo_user }}"
 | |
|   git:  repo={{ odoo_repo_url }}
 | |
|         dest={{ odoo_repo_dest }}
 | |
|         version={{ odoo_repo_rev | string }}
 | |
|         update={{ project_path.stat.exists == False and 'yes'
 | |
|                   or (odoo_repo_update and 'yes' or 'no') }}
 | |
|         depth={{ odoo_repo_depth }}
 | |
|         accept_hostkey=yes
 | |
|         key_file="/data/{{ odoo_user }}/.ssh/id_rsa"
 | |
|   when: odoo_repo_type == 'git' and odoo_repo_url
 | |
|   notify: Restart Odoo
 | |
|   tags:
 | |
|     - odoo_project
 | |
| 
 | |
| - name: Standard installation
 | |
|   import_tasks: install_standard.yml
 | |
|   when: odoo_install_type == 'standard'
 | |
|   tags:
 | |
|     - odoo_install_type_standard
 | |
| 
 | |
| - name: Install datenpol scripts
 | |
|   import_tasks: install_datenpol_scripts.yml
 | |
|   when: odoo_install_type == 'standard'
 | |
|   tags:
 | |
|     - odoo_install_dp_scripts
 | |
| 
 | |
| - name: Install NPM packages
 | |
|   import_tasks: install_npm.yml
 | |
|   when: (odoo_version | int) >= 9
 | |
|   tags:
 | |
|     - odoo
 | |
|     - odoo_packages
 |