134 lines
4.0 KiB
YAML
134 lines
4.0 KiB
YAML
---
|
|
# Pip install frappe-bench
|
|
- name: Installing pip frappe-bench
|
|
pip:
|
|
name:
|
|
- frappe-bench
|
|
|
|
# Create {{ base }} directory
|
|
- name: Creating {{ base }} directory
|
|
file:
|
|
path: '{{ base }}'
|
|
state: directory
|
|
owner: toor
|
|
group: toor
|
|
mode: '0755'
|
|
|
|
# Run frappe bench init
|
|
- name: Running frappe bench init
|
|
# NOTICE: running as toor
|
|
become_user: toor
|
|
shell: bench init {{ projectname }} --frappe-branch version-12 --no-backups
|
|
args:
|
|
chdir: '{{ base }}'
|
|
# Ensures this command only runs if the dir does NOT exist
|
|
creates: '{{ path }}'
|
|
when: frappe_repo is undefined
|
|
|
|
# Run frappe bench init with custom repo
|
|
- name: Running frappe bench init with custom repo
|
|
# NOTICE: running as toor
|
|
become_user: toor
|
|
shell: bench init {{ projectname }} --frappe-path {{ frappe_repo }} --frappe-branch version-12 --no-backups
|
|
args:
|
|
chdir: '{{ base }}'
|
|
# Ensures this command only runs if the dir does NOT exist
|
|
creates: '{{ path }}'
|
|
when: frappe_repo is defined
|
|
|
|
# Create frappe-bench supervisor configs
|
|
- name: Creating frappe-bench supervisor config
|
|
become_user: toor
|
|
shell: bench setup supervisor
|
|
args:
|
|
chdir: '{{ path }}'
|
|
creates: '{{ path }}/config/supervisor.conf'
|
|
|
|
# Symlink frappe-bench supervisor config
|
|
- name: Symlinking frappe-bench supervisor config
|
|
file:
|
|
src: '{{ path }}/config/supervisor.conf'
|
|
dest: /etc/supervisor/conf.d/frappe-bench.conf
|
|
state: link
|
|
notify: reload supervisor
|
|
|
|
# Get ERPNext app
|
|
- name: Getting ERPNext app
|
|
become_user: toor
|
|
shell: bench get-app erpnext --branch version-12
|
|
args:
|
|
chdir: '{{ path }}'
|
|
creates: '{{ path }}/apps/erpnext'
|
|
notify: reload supervisor
|
|
when: erpnext_repo is undefined
|
|
|
|
# Get ERPNext app from custom repo
|
|
- name: Getting ERPNext app from custom repo
|
|
become_user: toor
|
|
shell: bench get-app erpnext {{ erpnext_repo }} --branch version-12
|
|
args:
|
|
chdir: '{{ path }}'
|
|
creates: '{{ path }}/apps/erpnext'
|
|
notify: reload supervisor
|
|
when: erpnext_repo is defined
|
|
|
|
# Settings frappe bench mariadb-host
|
|
- name: Setting frappe bench mariadb-host
|
|
become_user: toor
|
|
shell: bench set-mariadb-host {{ db_host }}
|
|
args:
|
|
chdir: '{{ path }}'
|
|
when: db_host is defined
|
|
|
|
# Create new site using local database
|
|
- name: Creating new frappe site using local database
|
|
become_user: toor
|
|
shell: bench new-site {{ site }} --admin-password {{ erpnext_admin_password }} --db-name {{ db_name }} --db-password {{ erpnext_db_password }} --mariadb-root-username root --mariadb-root-password {{ root_db_password }} --force
|
|
args:
|
|
chdir: '{{ path }}'
|
|
creates: '{{ path }}/sites/{{ site }}'
|
|
notify: reload supervisor
|
|
when: db_host is undefined
|
|
|
|
# Create new site using remote database
|
|
- name: Creating new frappe site using remote database
|
|
become_user: toor
|
|
shell: bench new-site {{ site }} --admin-password {{ erpnext_admin_password }} --db-name {{ db_name }} --db-password {{ erpnext_db_password }} --mariadb-root-username root --mariadb-root-password {{ root_db_password }} --force --no-mariadb-socket
|
|
args:
|
|
chdir: '{{ path }}'
|
|
creates: '{{ path }}/sites/{{ site }}'
|
|
notify: reload supervisor
|
|
when: db_host is defined
|
|
|
|
# Adding ERPNext to site
|
|
- name: Adding ERPNext to site
|
|
become_user: toor
|
|
shell: bench --site {{ site }} install-app erpnext
|
|
args:
|
|
chdir: '{{ path }}'
|
|
creates: '{{ path }}/sites/{{ site }}/ansible-flag-app-erpnext-added'
|
|
notify: reload supervisor
|
|
|
|
# Create frappe-bench nginx configs
|
|
- name: Creating frappe-bench nginx config
|
|
become_user: toor
|
|
shell: bench setup nginx
|
|
args:
|
|
chdir: '{{ path }}'
|
|
creates: '{{ path }}/config/nginx.conf'
|
|
|
|
# Delete /etc/nginx/sites-enabled/default
|
|
- name: Deleting /etc/nginx/sites-enabled/default
|
|
file:
|
|
path: /etc/nginx/sites-enabled/default
|
|
state: absent
|
|
notify: reload nginx
|
|
|
|
# Symlink frappe-bench nginx config
|
|
- name: Symlinking frappe-bench nginx config
|
|
file:
|
|
src: '{{ path }}/config/nginx.conf'
|
|
dest: /etc/nginx/sites-enabled/erpnext.conf
|
|
state: link
|
|
notify: reload nginx
|