Added database patch to wordpress

This commit is contained in:
2025-08-11 21:46:07 +02:00
parent 918355743f
commit de15c42de8
9 changed files with 56 additions and 11 deletions

View File

@@ -0,0 +1,28 @@
# The seeds need to be executed as root, because www-data isn't allowed to create files in the wordpress directory
- name: Update DB host in wp-config.php
command: >
docker exec --user root {{ wordpress_container }}
sed -i "s/define(\s*'DB_HOST'\s*,\s*'[^']*'\s*);/define( 'DB_HOST', '{{ database_host }}:{{ database_port }}' );/i" {{ wordpress_docker_conf_path }}
notify: docker compose restart
- name: Update DB name in wp-config.php
command: >
docker exec --user root {{ wordpress_container }}
sed -i "s/define(\s*'DB_NAME'\s*,\s*'[^']*'\s*);/define( 'DB_NAME', '{{ database_name }}' );/i" {{ wordpress_docker_conf_path }}
notify: docker compose restart
- name: Update DB user in wp-config.php
command: >
docker exec --user root {{ wordpress_container }}
sed -i "s/define(\s*'DB_USER'\s*,\s*'[^']*'\s*);/define( 'DB_USER', '{{ database_username }}' );/i" {{ wordpress_docker_conf_path }}
notify: docker compose restart
- name: Update DB password in wp-config.php
command: >
docker exec --user root {{ wordpress_container }}
sed -i "s/define(\s*'DB_PASSWORD'\s*,\s*'[^']*'\s*);/define( 'DB_PASSWORD', '{{ database_password }}' );/i" {{ wordpress_docker_conf_path }}
notify: docker compose restart
- name: "Flush handlers to reinitialize new database credentials"
meta: flush_handlers

View File

@@ -1,6 +1,6 @@
- name: "Run WordPress core install via WP CLI"
command: >
docker-compose exec -T -u www-data application
docker exec -u {{ wordpress_user }} {{ wordpress_container }}
wp core install
--url="{{ domains | get_url(application_id, WEB_PROTOCOL) }}"
--title="{{ applications | get_app_conf(application_id, 'title', True) }}"

View File

@@ -25,13 +25,23 @@
dest: "{{ host_msmtp_conf }}"
notify: docker compose up
- name: Check if wp-config.php exists in WordPress
command: docker exec -u {{ wordpress_user }} {{ wordpress_container }} test -f {{ wordpress_docker_html_path }}/wp-config.php
register: wp_config_file_exists
changed_when: false
failed_when: false
- name: Patch WordPress wp-config.php with updated DB credentials
include_tasks: 01_patch_config.yml
when: wp_config_file_exists.rc == 0
- name: "Install wordpress"
include_tasks: install.yml
include_tasks: 02_install.yml
- name: "Install and activate WordPress plugins"
block:
- name: "Iterate through WordPress plugins"
include_tasks: plugin.yml
include_tasks: 03_enable_plugin.yml
loop: "{{ wordpress_plugins }}"
loop_control:
label: "{{ item.key }}"