--- - name: "Include role sys-stk-front-proxy for {{ application_id }}" include_role: name: sys-stk-front-proxy 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: "load docker and db for {{ application_id }}" include_role: name: sys-stk-back-stateful vars: docker_compose_flush_handlers: false - 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 {{ WORDPRESS_HOST_MSMTP_CONF }}" template: src: "{{ playbook_dir }}/roles/sys-svc-msmtp/templates/msmtprc.conf.j2" dest: "{{ WORDPRESS_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) }}"