forked from uumas/ansible-docker
add wordpress role with lots of bells and whistles
This commit is contained in:
1
roles/wordpress/README.md
Normal file
1
roles/wordpress/README.md
Normal file
@@ -0,0 +1 @@
|
||||
Installs wordpress in docker and configures cron
|
||||
14
roles/wordpress/defaults/main.yml
Normal file
14
roles/wordpress/defaults/main.yml
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
|
||||
wordpress_tag: php8.1
|
||||
|
||||
dockerfile: {}
|
||||
docker_additional_services: []
|
||||
|
||||
docker_host_user: false
|
||||
wordpress_symlinks: false
|
||||
|
||||
wordpress_docker_volumes:
|
||||
- name: html
|
||||
path: /var/www/html
|
||||
|
||||
35
roles/wordpress/tasks/main.yml
Normal file
35
roles/wordpress/tasks/main.yml
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
|
||||
- name: Add memcached php extension to container
|
||||
set_fact:
|
||||
dockerfile: "{{ dockerfile | combine({'run': ['apt-get update && apt-get install -y libmemcached-dev zlib1g-dev && pecl install memcached-3.2.0 && docker-php-ext-enable memcached']}, list_merge='append') }}"
|
||||
when: "'memcached' in docker_additional_services"
|
||||
|
||||
- name: Add pdo_mysql php extension to container
|
||||
set_fact:
|
||||
dockerfile: "{{ dockerfile | combine({'run': ['docker-php-ext-install -j$(nproc) pdo_mysql']}, list_merge='append') }}"
|
||||
when: "'pdo_mysql' in wordpress_php_extensions"
|
||||
|
||||
- name: Include additional volume vars
|
||||
include_vars: "{{ item }}_volume.yml"
|
||||
loop: "{{ wordpress_additional_volumes | default([]) }}"
|
||||
|
||||
- name: Wordpress container setup
|
||||
include_role:
|
||||
name: container
|
||||
vars:
|
||||
docker_service: wordpress
|
||||
docker_image: wordpress:{{ wordpress_tag }}
|
||||
docker_image_http_port: 80
|
||||
docker_database: mariadb
|
||||
docker_volumes: "{{ wordpress_docker_volumes + wordpress_www_volume + wordpress_log_volume }}"
|
||||
docker_volume_type: bind
|
||||
docker_env:
|
||||
WORDPRESS_DB_HOST: "{{ docker_service_name }}_db"
|
||||
WORDPRESS_DB_NAME: "{{ docker_service_name }}"
|
||||
WORDPRESS_DB_USER: "{{ docker_service_name }}"
|
||||
WORDPRESS_DB_PASSWORD: "{{ database_passwords[docker_service_name] }}"
|
||||
WORDPRESS_CONFIG_EXTRA: |
|
||||
define('WP_SITEURL', 'https://{{ docker_vhost_domains[docker_service_name][0] }}');
|
||||
define('WP_HOME', 'https://{{ docker_vhost_domains[docker_service_name][0] }}');
|
||||
|
||||
6
roles/wordpress/vars/log_volume.yml
Normal file
6
roles/wordpress/vars/log_volume.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
|
||||
wordpress_log_volume:
|
||||
- name: logs
|
||||
path: /var/log/apache2
|
||||
|
||||
6
roles/wordpress/vars/www_volume.yml
Normal file
6
roles/wordpress/vars/www_volume.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
|
||||
wordpress_www_volume:
|
||||
- name: www
|
||||
path: /var/www
|
||||
|
||||
Reference in New Issue
Block a user