Role Detail

AdnanHodzic.containerized-wordpress

Deploy & run Docker Compose project for WordPress instance (3 separate containers running WordPress PHP7 FPM, Nginx and MariaDB) with Let's Encrypt HTTPS encryption
Downloads
30
Type Ansible
Minimum Ansible Version 2.0
Installation $ ansible-galaxy install AdnanHodzic.containerized-wordpress
Tags
automation
aws
compose
container
containzerized
development
docker
dockerized
ec2
fpm
letsencrypt
mariadb
mysql
nginx
php7
project
system
ubuntu
wordpress
Last Commit
Last Imported
OS Platforms
Platform Version
Ubuntu artful
Ubuntu bionic
Ubuntu lucid
Ubuntu maverick
Ubuntu natty
Ubuntu oneiric
Ubuntu precise
Ubuntu quantal
Ubuntu raring
Ubuntu saucy
Ubuntu trusty
Ubuntu utopic
Ubuntu vivid
Ubuntu wily
Ubuntu xenial
Ubuntu yakkety
Ubuntu zesty
Last 10 Imports
Completed Status
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS

Ansible Role: Containerized WordPress

This Ansible playbook will Deploy & run Docker Compose project for WordPress instance. It will also configure Let's Encrypt certificates for specified domain. It consists of 3 separate containers running:

  • WordPress (PHP7 FPM)
  • Nginx (enabled with Let's Encrpt HTTPS encryption)
  • MariaDB

This role was created as part of containerized-wordpress-project

Requirements

For this role to work, it is required to have have Docker and Docker Compose installed and setup. If you haven't done this already (manually), then you're required to install following role: AdnanHodzic.docker-compose.

Role Variables

This role comes with following variables defined in defaults/main.yml:

system_user: ubuntu
compose_project_dir: /home/{{ system_user }}/compose-wordpress
domain: foolcontrol.org
stage: false
wp_version: 4.9.4
php_fmp_version: php7.1-fpm
wp_db_name: wordpress
wp_db_tb_pre: wp_
wp_db_host: mysql
wp_db_psw: change-M3

If role is run without changing these, WordPress instance with Nginx virtual host as well as Database settings will be setup with these values.

stage is an important value and its detailed explanation can be found on: Let's Encrypt certificates (HTTPS encryption)

Blog post discussion:

Dependencies

ToDo: Determine if "AdnanHodzic.docker-compose-setup" role should be set as role dependency. If yes, update this section of ReadMe + meta code.

Example Playbook

- hosts: servers
  remote_user: "{{ system_user }}"
  roles:
    - { role: AdnanHodzic.containerized-wordpress }}  

License

GPLv3

None