47 lines
1.4 KiB
YAML
47 lines
1.4 KiB
YAML
---
|
|
- name: "Create site data directory for {{ site }}"
|
|
ansible.builtin.file:
|
|
path: "/srv/web/{{ site }}"
|
|
state: directory
|
|
mode: "0755"
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
when: redirect is not defined and proxy is not defined
|
|
|
|
- name: "Create site config for {{ site }}"
|
|
ansible.builtin.template:
|
|
dest: /etc/nginx/conf.d/{{ site }}.conf
|
|
src: site.conf.j2
|
|
mode: "0644"
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
notify: Restart nginx
|
|
|
|
- name: "Copy site private key for {{ site }}"
|
|
ansible.builtin.copy:
|
|
dest: "{{ tls_private }}/{{ site }}.key"
|
|
src: "{{ item }}"
|
|
mode: "0600"
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
with_first_found:
|
|
- "/srv/letsencrypt/live/{{ site }}/privkey.pem"
|
|
- "/srv/ca/private/{{ site }}.key"
|
|
- "/srv/ca/private/{{ inventory_hostname }}.key"
|
|
tags: certificates
|
|
notify: Restart nginx
|
|
|
|
- name: "Copy site certificate for {{ site }}"
|
|
ansible.builtin.copy:
|
|
src: "{{ item }}"
|
|
dest: "{{ tls_certs }}/{{ site }}-fullchain.crt"
|
|
mode: "0644"
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
validate: /usr/bin/openssl x509 -in %s -noout
|
|
with_first_found:
|
|
- "/srv/letsencrypt/live/{{ site }}/fullchain.pem"
|
|
- "/srv/ca/certs/hosts/{{ site }}.crt"
|
|
- "/srv/ca/certs/hosts/{{ inventory_hostname }}.crt"
|
|
tags: certificates
|
|
notify: Restart nginx
|