nginx/tasks/install.yml

75 lines
1.7 KiB
YAML

---
- name: Install Nginx
apt:
name: nginx
- name: Create directories for Nginx configuration
notify: nginx | Restart Nginx
file:
state: directory
path: '{{ item }}'
mode: 'u=rwx,go=rx'
owner: root
group: root
with_items:
- '{{ nginx__dir_etc }}'
- '{{ nginx__confd_dir }}'
- '{{ nginx__available_dir }}'
- '{{ nginx__enabled_dir }}'
- '{{ nginx__snippets_dir }}'
- name: Install Nginx config
notify: nginx | Restart Nginx
copy:
src: 'files/nginx.conf'
dest: '{{ nginx__dir_etc }}/nginx.conf'
mode: 'u=rw,go=r'
owner: root
group: root
- name: Install Nginx stream config
notify: nginx | Restart Nginx
copy:
content: "{{ nginx__stream }}\n"
dest: '{{ nginx__dir_etc }}/stream.conf'
mode: 'u=rw,go=r'
owner: root
group: root
- name: Remove Nginx default site
notify: nginx | Restart Nginx
file:
state: absent
path: '{{ nginx__enabled_dir }}/default'
when: nginx__remove_default|bool
- name: Add Nginx upstreams
notify: nginx | Restart Nginx
template:
src: 'templates/upstream.conf'
dest: '{{ nginx__confd_dir }}/upstream-{{ item.name }}.conf'
mode: 'u=rw,go=r'
owner: root
group: root
with_items: '{{ nginx__upstreams }}'
- name: Add Nginx sites
notify: nginx | Restart Nginx
template:
src: 'templates/site.conf'
dest: '{{ nginx__available_dir }}/{{ item.domain }}.conf'
mode: 'u=rw,go=r'
owner: root
group: root
with_items: '{{ nginx__sites }}'
- name: Enable Nginx sites
notify: nginx | Restart Nginx
file:
state: link
src: '{{ nginx__available_dir }}/{{ item.domain }}.conf'
dest: '{{ nginx__enabled_dir }}/{{ item.domain }}.conf'
owner: root
group: root
with_items: '{{ nginx__sites }}'