73 lines
2.4 KiB
YAML

---
- name: "load docker and db for {{application_id}}"
include_role:
name: cmp-db-docker
vars:
docker_compose_flush_handlers: false
- name: "Include role srv-proxy-6-6-domain for {{ application_id }}"
include_role:
name: srv-proxy-6-6-domain
loop: "{{ wordpress_domains }}"
loop_control:
loop_var: domain
vars:
proxy_extra_configuration: "client_max_body_size {{ wordpress_max_upload_size }};"
http_port: "{{ ports.localhost.http[application_id] }}"
- name: "Transfering upload.ini to {{ docker_compose.directories.instance }}"
template:
src: upload.ini.j2
dest: "{{ docker_compose.directories.instance }}upload.ini"
notify: docker compose up
- name: "Transfering msmtprc to {{ host_msmtp_conf }}"
template:
src: "{{ playbook_dir }}/roles/sys-svc-msmtp/templates/msmtprc.conf.j2"
dest: "{{ host_msmtp_conf }}"
notify: docker compose up
- name: Flush handlers to make {{ wordpress_config_file }} available before patch
meta: flush_handlers
- name: Check if {{ wordpress_config_file }} exists in WordPress
command: docker exec -u {{ wordpress_user }} {{ wordpress_container }} test -f {{ wordpress_config_path }}
register: wp_config_file_exists
changed_when: false
failed_when: false
- name: Patch WordPress {{ wordpress_config_file }} with updated DB credentials
include_tasks: 01_patch_config.yml
when: wp_config_file_exists.rc == 0
- name: "Install wordpress"
include_tasks: 02_install.yml
- name: "Install and activate WordPress plugins"
block:
- name: "Iterate through WordPress plugins"
include_tasks: 03_enable_plugin.yml
loop: "{{ wordpress_plugins }}"
loop_control:
label: "{{ item.key }}"
vars:
plugin_name: "{{ item.key }}"
plugin_enabled: "{{ item.value.enabled | bool }}"
plugin_task_path: "{{ role_path }}/tasks/plugins/{{ plugin_name }}/install.yml"
when: plugin_enabled
- name: Detect if WordPress is Multisite
command: >
docker exec -u {{ wordpress_user }} {{ wordpress_container }}
wp eval 'echo (int) is_multisite();' --path={{ wordpress_docker_html_path }}
register: wp_is_multisite
changed_when: false
- name: "Update Single Side Wordpress domain"
include_tasks: 04_update_domain.yml
when: (wp_is_multisite.stdout | trim) == '0'
vars:
# Target URL to switch to (uses your helper)
wp_new_url: "{{ domains | get_url(application_id, WEB_PROTOCOL) }}"