102 lines
3.2 KiB
YAML
102 lines
3.2 KiB
YAML
---
|
|
- name: create wordpress database
|
|
mysql_db:
|
|
state: present
|
|
name: "{{ wordpress_db_name }}"
|
|
login_host: "{{ mariadb_host }}"
|
|
login_port: "{{ mariadb_port }}"
|
|
login_user: root
|
|
login_password: "{{ mariadb_root_password }}"
|
|
|
|
- name: create wordpress db user
|
|
mysql_user:
|
|
state: present
|
|
name: "{{ wordpress_db_user }}"
|
|
password: "{{ wordpress_db_password }}"
|
|
priv: "{{ wordpress_db_name }}.*:ALL"
|
|
login_host: "{{ mariadb_host }}"
|
|
login_port: "{{ mariadb_port }}"
|
|
login_user: root
|
|
login_password: "{{ mariadb_root_password }}"
|
|
|
|
- name: start wordpress container
|
|
docker_container:
|
|
image: "{{ wordpress_image }}"
|
|
name: "{{ wordpress_container }}"
|
|
volumes:
|
|
- "{{ wordpress_volume }}:/var/www/html"
|
|
env:
|
|
WORDPRESS_DB_HOST: "{{ mariadb_container }}"
|
|
WORDPRESS_DB_USER: "{{ wordpress_db_user }}"
|
|
WORDPRESS_DB_PASSWORD: "{{ wordpress_db_password }}"
|
|
WORDPRESS_DB_NAME: "{{ wordpress_db_name }}"
|
|
WORDPRESS_TABLE_PREFIX: "{{ wordpress_table_prefix }}"
|
|
# (default to unique random SHA1s, but only if other environment
|
|
# variable configuration is provided)
|
|
# WORDPRESS_AUTH_KEY:
|
|
# WORDPRESS_SECURE_AUTH_KEY:
|
|
# WORDPRESS_LOGGED_IN_KEY:
|
|
# WORDPRESS_NONCE_KEY:
|
|
# WORDPRESS_AUTH_SALT:
|
|
# WORDPRESS_SECURE_AUTH_SALT:
|
|
# WORDPRESS_LOGGED_IN_SALT:
|
|
# WORDPRESS_NONCE_SALT:
|
|
# (defaults to disabled, non-empty value will enable WP_DEBUG in
|
|
# wp-config.php)
|
|
WORDPRESS_DEBUG: "{{ wordpress_debug }}"
|
|
# (defaults to nothing, non-empty value will be embedded verbatim
|
|
# inside wp-config.php -- especially useful for applying extra
|
|
# configuration values this image does not provide by default such
|
|
# as WP_ALLOW_MULTISITE; see docker-library/wordpress#142 for more
|
|
# details)
|
|
WORDPRESS_CONFIG_EXTRA: "{{ wordpress_config_extra }}"
|
|
networks:
|
|
- name: "{{ docker_network_name }}"
|
|
ports:
|
|
- "{% if wordpress_bind_port is not none %}\
|
|
{{ wordpress_bind_host+':' if not wordpress_bind_host is none else '' }}\
|
|
{{ wordpress_bind_port }}:80{% endif %}"
|
|
|
|
- name: template nginx config
|
|
copy:
|
|
content: |
|
|
server {
|
|
listen 80; # para debug
|
|
listen 443 ssl;
|
|
server_name {{ wordpress_domain }};
|
|
|
|
# root /var/www/html;
|
|
index index.php index.html;
|
|
# access_log /dev/stdout;
|
|
# error_log /dev/stdout info;
|
|
|
|
location {{ wordpress_web_root }} {
|
|
try_files $uri $uri/ /index.php?$args;
|
|
}
|
|
|
|
location ~ .php$ {
|
|
include fastcgi_params;
|
|
fastcgi_pass wordpress:9000;
|
|
fastcgi_index index.php;
|
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
}
|
|
}
|
|
dest: "{{ nginx_config_mountpoint }}/wordpress.conf"
|
|
register: ngconf
|
|
|
|
- name: restart frontend
|
|
docker_container:
|
|
name: "{{ nginx_container_name }}"
|
|
restart: yes
|
|
when: ngconf is changed
|
|
|
|
- name: inspect wordpress volume
|
|
docker_volume_info:
|
|
name: "{{ wordpress_volume }}"
|
|
register: volinfo
|
|
|
|
- name: export variables
|
|
set_fact:
|
|
wordpress_volume: "{{ lookup('vars','wordpress_volume') }}"
|
|
wordpress_volume_mountpoint: "{{ volinfo.volume.Mountpoint }}"
|