--- - name: Set up Lets Encrypt hosts: ramble-hard vars_files: - ../vars.private tasks: - apt: update_cache: yes - package: name: - certbot - nginx - service: name: nginx state: stopped - command: > certbot certonly --standalone --preferred-challenges http -n --agree-tos -m {{ lets_encrypt.email }} -d {{ tld }} vars: tld: "{{ item.value['subdomain'] | default(item.key) }}.{{ domain }}" loop: "{{ apps | dict2items }}" - service: name: nginx state: started - template: src: renew-certs dest: /etc/cron.daily/renew-certs mode: +x # - name: Set up nginx proxies # hosts: ramble-hard # vars_files: # - ../vars.private # tasks: # - template: # src: nginx.conf # dest: /etc/nginx/sites-available/{{ item.key }}.conf # vars: # server_name: "{{ item.value['subdomain'] | default(item.key) }}.{{ domain }}" # port: "{{ item.value['port'] }}" # loop: "{{ apps | dict2items }}" # notify: Restart nginx # - file: # src: /etc/nginx/sites-available/{{ item.key }}.conf # dest: /etc/nginx/sites-enabled/{{ item.key }}.conf # state: link # loop: "{{ apps | dict2items }}" # notify: Restart nginx # handlers: # - name: Restart nginx # service: # name: nginx # state: restarted