ansible-ffibk/roles/service-nginx/tasks/main.yml

98 lines
2 KiB
YAML

---
- name: add official nginx apt key
apt_key:
state: present
id: 7BD9BF62
url: "https://nginx.org/keys/nginx_signing.key"
- name: add official nginx apt repository
apt_repository:
state: present
repo: "{{ item }}"
update_cache: yes
filename: nginx
with_items:
- deb http://nginx.org/packages/debian/ stretch nginx
- deb-src http://nginx.org/packages/debian/ stretch nginx
- name: install nginx packages
package:
name: nginx
state: present
- name: create cronjob to sync ssl certs
template:
src: ssl_certs.cron.j2
dest: /etc/cron.daily/ssl_certs
mode: 0755
owner: root
group: root
notify: reload cron
- name: create config snippets directory
file:
path: /etc/nginx/snippets
state: directory
mode: 0755
owner: root
group: root
- name: create certs directory
file:
path: /etc/nginx/ssl
state: directory
mode: 0755
owner: root
group: root
- name: sync ssl certs
shell: /etc/cron.daily/ssl_certs
- name: write nginx configuration letsencrypt-acme-challenge.conf
template:
src: letsencrypt-acme-challenge.conf.j2
dest: /etc/nginx/snippets/letsencrypt-acme-challenge.conf
mode: 0644
owner: root
group: root
- name: write nginx configuration nginx.conf
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
mode: 0644
owner: root
group: root
notify: reload nginx
- name: write nginx configuration default.conf
template:
src: default.conf.j2
dest: /etc/nginx/conf.d/default.conf
mode: 0644
notify: reload nginx
- name: manage html directory for static files
file:
path: /var/www/html/static
state: directory
mode: 0755
- name: copy css stylesheet
copy:
src: style.css
dest: /var/www/html/static/style.css
mode: 0644
- name: write index.html
template:
src: index.html.j2
dest: /var/www/html/index.html
mode: 0644
- name: configure systemd unit nginx
systemd:
name: nginx
state: started
enabled: yes