60 lines
1.6 KiB
YAML
60 lines
1.6 KiB
YAML
---
|
|
|
|
# Use acme.sh instead of certbot because they only support installation via
|
|
# snap now.
|
|
- block:
|
|
- name: Remove certbot
|
|
apt:
|
|
name: certbot
|
|
state: absent
|
|
|
|
- name: Remove old certbot post and pre hooks for nginx
|
|
file:
|
|
dest: "{{ item }}"
|
|
state: absent
|
|
with_items:
|
|
- /etc/letsencrypt/renewal-hooks/pre/stop-nginx.sh
|
|
- /etc/letsencrypt/renewal-hooks/post/start-nginx.sh
|
|
|
|
- name: Download acme.sh
|
|
get_url:
|
|
url: https://raw.githubusercontent.com/acmesh-official/acme.sh/master/acme.sh
|
|
dest: "{{ letsencrypt_acme_script }}"
|
|
|
|
- name: Prepare Let's Encrypt well-known directory
|
|
file:
|
|
state: directory
|
|
path: /var/lib/letsencrypt/.well-known
|
|
owner: root
|
|
group: nginx
|
|
mode: g+s
|
|
|
|
- name: Copy systemd service to renew Let's Encrypt certs
|
|
template:
|
|
src: renew-letsencrypt.service.j2
|
|
dest: /etc/systemd/system/renew-letsencrypt.service
|
|
mode: 0644
|
|
owner: root
|
|
group: root
|
|
|
|
- name: Copy systemd timer to renew Let's Encrypt certs
|
|
copy:
|
|
src: renew-letsencrypt.timer
|
|
dest: /etc/systemd/system/renew-letsencrypt.timer
|
|
mode: 0644
|
|
owner: root
|
|
group: root
|
|
|
|
# always issues daemon-reload just in case the service/timer changed
|
|
- name: Start and enable systemd timer to renew Let's Encrypt certs
|
|
systemd:
|
|
name: renew-letsencrypt.timer
|
|
state: started
|
|
enabled: yes
|
|
daemon_reload: yes
|
|
|
|
when: ansible_distribution == 'Ubuntu' and ansible_distribution_version is version('20.04', '==')
|
|
tags: letsencrypt
|
|
|
|
# vim: set ts=2 sw=2:
|