diff --git a/roles/docker_wordpress/defaults/main.yml b/roles/docker_wordpress/defaults/main.yml new file mode 100644 index 0000000..7f5b5a2 --- /dev/null +++ b/roles/docker_wordpress/defaults/main.yml @@ -0,0 +1,22 @@ +--- + +# Default name of WP containers and unique ID for this instance +wp_docker_name: wp_wordpress + +# Root dir of Docker +wp_docker_root_dir: /opt/docker + +# Default Wordpress image used from Docker HUB +wp_docker_image: wordpress-fpm:latest + +# Containers will automaticly restart Website at boot +wp_docker_restart: unless-stopped + +# Default port of WP containers +wp_docker_port: 8080 + +# Default DB config +wp_docker_db_host: localhost +wp_docker_db_user: wp_wordpress +wp_docker_db_psw: wp_wordpress +wp_docker_db_name: wp_wordpress diff --git a/roles/docker_wordpress/handlers/main.yml b/roles/docker_wordpress/handlers/main.yml new file mode 100644 index 0000000..ed97d53 --- /dev/null +++ b/roles/docker_wordpress/handlers/main.yml @@ -0,0 +1 @@ +--- diff --git a/roles/docker_wordpress/meta/main.yml b/roles/docker_wordpress/meta/main.yml new file mode 100644 index 0000000..ed97d53 --- /dev/null +++ b/roles/docker_wordpress/meta/main.yml @@ -0,0 +1 @@ +--- diff --git a/roles/docker_wordpress/tasks/main.yml b/roles/docker_wordpress/tasks/main.yml new file mode 100644 index 0000000..9c931a5 --- /dev/null +++ b/roles/docker_wordpress/tasks/main.yml @@ -0,0 +1,16 @@ +--- + + - name: Deploy docker-compose YML file + with_items: "{{ wp_docker }}" + src: docker-compose.yml.j2 + dest: "{{ wp_docker_root_dir }}/{{ item.wp_docker_name }}/docker-compose.yml" + owner: bin + group: wheel + mode: '0644' + + - name: Launch Wordpress containers + with_items: "{{ wp_docker }}" + command: "docker-compose up -d -f {{ wp_docker_root_dir }}/{{ item.wp_docker_name }}/docker-compose.yml" + +# - name: Send an welcome email message + # TODO diff --git a/roles/docker_wordpress/templates/docker-compose.yml.j2 b/roles/docker_wordpress/templates/docker-compose.yml.j2 new file mode 100644 index 0000000..705da20 --- /dev/null +++ b/roles/docker_wordpress/templates/docker-compose.yml.j2 @@ -0,0 +1,19 @@ +version: '3.1' + +services: + wordpress-fpm: + image: {{ item.wp_docker_image }} + restart: {{ item.wp_docker_restart }} + container_name: {{ item.wp_docker_name }} + ports: {{ item.wp_docker_port}} + environment: + WORDPRESS_DB_HOST: {{ item.wp_docker_db_host }} + WORDPRESS_DB_USER: {{ item.wp_docker_db_user }} + WORDPRESS_DB_PASSWORD: {{ item.wp_docker_db_psw }} + WORDPRESS_DB_NAME: {{ item.wp_docker_db_name }} + volumes: + - /opt/wp/{{ item.wp_docker_name }}/html:/var/www/html +# conf PHP +# Backups +# cron +# email diff --git a/roles/docker_wordpress/templates/welcome.txt.j2 b/roles/docker_wordpress/templates/welcome.txt.j2 new file mode 100644 index 0000000..4cc96db --- /dev/null +++ b/roles/docker_wordpress/templates/welcome.txt.j2 @@ -0,0 +1,40 @@ +Bonjour, +Vous disposez désormais d'un site Wordpress sur notre plateforme d’hébergement web, voici les détails techniques : + +- Accès au Wordpress : XXXXXXXXXX +- Accès à la configuration du Wordpress : XXXXXXXXXX + Identifiant : XXXXXXXXXX + Mot de passe : XXXXXXXXXX + +L'environnement à votre disposition utilise la dernière image Wordpress maintenue par la communauté Docker. +Retrouvez toutes les informations techniques ici : https://github.com/docker-library/wordpress + +L'accès à l'espace d'hébergement s'effectue par le protocole SFTP ou SSH. +Vous avez la possibilité d'agir directement sur le système pour en changer la configuration et envoyer vos fichiers. +Il est possible par exemple de s'authentifier avec le logiciel WinSCP (sous Windows). + +Paramètres de connexion : + Serveur : XXXXXXXXXX + Port : XXXXXXXXXX + Identifiant : XXXXXXXXXX + Mot de passe : XXXXXXXXXX + +L'arborescence du système comprend : + +archives : ce répertoire contiendra les archives créées automatiquement chaque soir sur la semaine. +db_dumps: ce répertoire est utilisé pour les sauvegardes de la base de données associée. +logs: ce répertoire contient les journaux PHP. +web: ce répertoire est celui exposé sur le web. C'est ici que l'application devra être déployée. + +Votre Wordpress utilise également une base de donnée mis à votre disposition. + +- Paramètres de connexion à la base de données : + Accès : XXXXXXXXXX + Identifiant : XXXXXXXXXX + Mot de passe : XXXXXXXXXX + +Si besoin, vous pouvez utiliser votre propre base de données, il vous faudra nous transmettre les paramètres de connexion de cette dernière. + +Un certificat valide est fourni, et automatiquement renouvelé de façon régulière (signé par Let's Encrypt). Tous les accès au site se font avec le protocole sécurisé HTTPS. + +À votre disposition pour tout complément d'information,