role-nginx-ssl/tasks/main.yml
2024-10-07 22:41:00 -05:00

65 lines
1.5 KiB
YAML

---
# tasks file for nginx-ssl
- name: install nginx
ansible.builtin.package:
name: nginx
state: present
- name: deploy nginx config
ansible.builtin.copy:
src: files/nginx.conf
dest: /etc/nginx/nginx.conf
notify: restart nginx
- name: ensure conf.d exists
ansible.builtin.file:
path: /etc/nginx/conf.d
state: directory
- name: deploy service config(s)
ansible.builtin.template:
src: templates/server.conf
dest: /etc/nginx/conf.d/{{ item.domain }}.conf
loop: "{{ domains }}"
notify: restart nginx
- name: check if letsencrypt is set up
ansible.builtin.command: '[ -d "/etc/letsencrypt/" ]'
register: result
ignore_errors: true
- name: check if letsencrypt is set up
ansible.builtin.command: '[ -d "/etc/nginx/certs/" ]'
register: result2
ignore_errors: true
- name: delete folder if exists
ansible.builtin.file:
state: absent
path: /etc/nginx/certs
when: (result is succeeded and result2 is succeeded) or (result is failed and result2 is failed)
- name: create symlink
ansible.builtin.file:
src: /etc/letsencrypt/live
dest: /etc/nginx/certs
state: link
force: yes
when: result is succeeded
notify: restart nginx
- name: Create certs directory if it doesn't exist
file:
path: /etc/nginx/certs/
state: directory
when: result is failed
- include_tasks: create_cert.yml
when: result is failed
loop: "{{ domains }}"
- name: ensure nginx is running
service:
name: nginx
state: started
enabled: yes