mastible/roles/mastodon-nginx/tasks/install.yml

19 lines
840 B
YAML

---
# This role sets up a Let's Encrypt certificate for the
# Mastodon instance
- name: Make TLS certificate storage directory
file: name=/etc/ssl/letsencrypt/ state=directory
- name: Make sure /opt exists
file: name=/opt state=directory
- name: Clone acme.sh repository
git:
repo: https://github.com/Neilpang/acme.sh.git
dest: /opt/acme.sh
- name: Install acme.sh
shell: /opt/acme.sh/acme.sh --install
- name: Generate certificate using acme.sh
shell: /root/.acme.sh/acme.sh --issue --standalone -d {{ LOCAL_DOMAIN }} --pre-hook "service nginx stop"
- name: Install certificate in storage directory
shell: /root/.acme.sh/acme.sh --install-cert -d {{ LOCAL_DOMAIN }} --key-file /etc/ssl/letsencrypt/{{ LOCAL_DOMAIN }}.pem --fullchain-file /etc/ssl/letsencrypt/{{ LOCAL_DOMAIN }}.crt --reloadcmd "service nginx restart"