mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-29 23:08:06 +02:00
- Removed obsolete 'cmp' category, introduced 'stk' category (fa-bars-staggered icon). - Renamed roles: * cmp-db-docker → sys-stk-back-stateful * cmp-docker-oauth2 → sys-stk-back-stateless * srv-domain-provision → sys-stk-front * cmp-db-docker-proxy → sys-stk-full-stateful * cmp-docker-proxy → sys-stk-full-stateless * cmp-rdbms → sys-svc-rdbms - Updated all include_role references, vars, templates and README.md files. - Adjusted run_once comments and variable paths accordingly. - Updated all web-app roles to use new sys-stk/* and sys-svc/* roles. Conversation: https://chatgpt.com/share/68b0ba66-09f8-800f-86fc-76c47009d431
73 lines
2.4 KiB
YAML
73 lines
2.4 KiB
YAML
---
|
|
- name: "Include role sys-stk-front for {{ application_id }}"
|
|
include_role:
|
|
name: sys-stk-front
|
|
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) }}"
|
|
|