src.nth.io/

summaryrefslogtreecommitdiff
path: root/roles/nginx/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'roles/nginx/tasks')
-rw-r--r--roles/nginx/tasks/certbot.yaml17
-rw-r--r--roles/nginx/tasks/main.yaml38
2 files changed, 55 insertions, 0 deletions
diff --git a/roles/nginx/tasks/certbot.yaml b/roles/nginx/tasks/certbot.yaml
new file mode 100644
index 0000000..b7fbe8d
--- /dev/null
+++ b/roles/nginx/tasks/certbot.yaml
@@ -0,0 +1,17 @@
+---
+
+# https://certbot.eff.org/lets-encrypt/ubuntuxenial-nginx
+
+- name: add certbot (letsencrypt) repo
+ become: yes
+ apt_repository: repo="ppa:certbot/certbot"
+
+- name: install nginx packages
+ become: yes
+ apt: name="python-certbot-nginx"
+ notify: restart nginx
+
+- name: install certbot in nginx
+ become: yes
+ command: "certbot certonly --nginx -n --agree-tos -d {{nginx_server_name}} -m {{nginx_admin_email}}"
+ notify: restart nginx
diff --git a/roles/nginx/tasks/main.yaml b/roles/nginx/tasks/main.yaml
new file mode 100644
index 0000000..77448ff
--- /dev/null
+++ b/roles/nginx/tasks/main.yaml
@@ -0,0 +1,38 @@
+---
+
+- name: set hostname in OS
+ become: yes
+ hostname: name="{{inventory_hostname}}"
+
+- name: change timezone to UTC
+ become: yes
+ timezone: name="UTC"
+
+- name: install nginx packages
+ become: yes
+ apt: name="nginx"
+
+- name: disable default site
+ become: yes
+ file: path="/etc/nginx/sites-enabled/default" state="absent"
+ notify: restart nginx
+
+- name: install site
+ become: yes
+ template: src="{{nginx_conf_src}}" dest="/etc/nginx/sites-available/{{nginx_conf_dst}}"
+ notify: restart nginx
+
+- import_tasks: certbot.yaml
+ when: nginx_enable_ssl
+
+- name: enable site
+ become: yes
+ file:
+ src: "/etc/nginx/sites-available/{{nginx_conf_dst}}"
+ dest: "/etc/nginx/sites-enabled/{{nginx_conf_dst}}"
+ state: "link"
+ notify: restart nginx
+
+- name: enable nginx service
+ become: yes
+ systemd: name="nginx" enabled="yes" state="started"