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