--- - name: "Set site_data_path to {{ www_path }}/{{ site.slug }}" set_fact: site_data_path="{{ www_path }}/{{ site.slug }}" tags: always #################### # Render templates # #################### - name: "Create folder {{ sites_path }}/{{ site.slug }}" file: path: "{{ sites_path }}/{{ site.slug }}" state: directory mode: '750' tags: [docker, nginx, mysql] - name: Render sexy Dockerfile template: src: drupal/Dockerfile.j2 dest: "{{ sites_path }}/{{ site.slug }}/Dockerfile" tags: docker - name: Render marvelous docker-compose.yml template: src: drupal/docker-compose.yml.j2 dest: "{{ sites_path }}/{{ site.slug }}/docker-compose.yml" tags: docker - name: Render swell nginx site config template: src: drupal/nginx.j2 dest: "/etc/nginx/sites-available/{{ site.url }}" become: yes tags: nginx ####################### # MySQL configuration # ####################### - name: "Setup MySQL" import_tasks: mysql.yml tags: mysql ################# # Setup backups # ################# - name: "Setup backups" import_tasks: backup.yml tags: backup ################### # SSL certificate # ################### # - name: Create Let's Encrypt certificate # This seems hard, see: # https://docs.ansible.com/ansible/latest/modules/acme_certificate_module.html#acme-certificate-module # https://www.digitalocean.com/community/tutorials/how-to-acquire-a-let-s-encrypt-certificate-using-ansible-on-ubuntu-18-04 # Maybe using shell directly? e.g. # certbot certonly --webroot -w /var/www/letsencrypt -d