src.nth.io/

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nginx/defaults/main.yaml10
-rw-r--r--nginx/handlers/main.yaml5
-rw-r--r--nginx/tasks/main.yaml39
-rw-r--r--postgresql/defaults/main.yaml10
-rw-r--r--postgresql/handlers/main.yaml5
-rw-r--r--postgresql/tasks/main.yaml27
6 files changed, 96 insertions, 0 deletions
diff --git a/nginx/defaults/main.yaml b/nginx/defaults/main.yaml
new file mode 100644
index 0000000..c0db79d
--- /dev/null
+++ b/nginx/defaults/main.yaml
@@ -0,0 +1,10 @@
+---
+
+nginx_port: 80
+nginx_ssl_port: 443
+nginx_ssl_cert: "/etc/letsencrypt/live/{{nginx_server_name}}/fullchain.pem"
+nginx_ssl_privkey: "/etc/letsencrypt/live/{{nginx_server_name}}/privkey.pem"
+nginx_enable_certbot: No
+nginx_server_name: "{{ansible_host}}"
+nginx_conf_dst: "{{nginx_server_name}}.nginx.conf"
+nginx_admin_email: "admin@{{nginx_server_name}}"
diff --git a/nginx/handlers/main.yaml b/nginx/handlers/main.yaml
new file mode 100644
index 0000000..1feca07
--- /dev/null
+++ b/nginx/handlers/main.yaml
@@ -0,0 +1,5 @@
+---
+
+- name: restart nginx
+ become: yes
+ systemd: name="nginx" state="restarted" daemon_reload="yes"
diff --git a/nginx/tasks/main.yaml b/nginx/tasks/main.yaml
new file mode 100644
index 0000000..5cace24
--- /dev/null
+++ b/nginx/tasks/main.yaml
@@ -0,0 +1,39 @@
+---
+
+- name: install nginx packages
+ become: yes
+ apt: name="nginx"
+
+- name: install site
+ become: yes
+ template: src="{{nginx_conf_src}}" dest="/etc/nginx/sites-available/{{nginx_conf_dst}}"
+ notify: restart nginx
+
+- name: install nginx packages
+ become: yes
+ apt: name="python-certbot-nginx"
+ notify: restart nginx
+ when: nginx_enable_certbot
+
+- name: install certbot in nginx
+ become: yes
+ command: "certbot certonly --nginx -n --agree-tos -d {{nginx_server_name}} -m {{nginx_admin_email}}"
+ changed_when: false
+ when: nginx_enable_certbot
+
+- name: disable default site
+ become: yes
+ file: path="/etc/nginx/sites-enabled/default" state="absent"
+ notify: restart nginx
+
+- 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"
diff --git a/postgresql/defaults/main.yaml b/postgresql/defaults/main.yaml
new file mode 100644
index 0000000..ff230a9
--- /dev/null
+++ b/postgresql/defaults/main.yaml
@@ -0,0 +1,10 @@
+---
+
+postgresql_version: "11"
+postgresql_config_path: "/etc/postgresql/{{postgresql_version}}/main/postgresql.conf"
+postgresql_data_dir: "/var/lib/postgresql/{{postgresql_version}}/main"
+postgresql_apt_packages:
+ - "postgresql-{{postgresql_version}}"
+ - "pgcli"
+ - "postgresql-client"
+ - "postgresql-common"
diff --git a/postgresql/handlers/main.yaml b/postgresql/handlers/main.yaml
new file mode 100644
index 0000000..d2eb688
--- /dev/null
+++ b/postgresql/handlers/main.yaml
@@ -0,0 +1,5 @@
+---
+
+- name: restart postgres
+ become: yes
+ systemd: name="postgresql" state="restarted" daemon_reload="yes"
diff --git a/postgresql/tasks/main.yaml b/postgresql/tasks/main.yaml
new file mode 100644
index 0000000..6195840
--- /dev/null
+++ b/postgresql/tasks/main.yaml
@@ -0,0 +1,27 @@
+---
+
+- name: install postgresql
+ become: yes
+ apt: name="{{postgresql_apt_packages}}"
+
+- name: configure postgresql data dir
+ become: yes
+ lineinfile:
+ path: "{{postgresql_config_path}}"
+ regexp: "^data_directory = "
+ line: "data_directory = '{{postgresql_data_dir}}'"
+ notify: restart postgres
+
+- name: create postgresql data dir
+ become: yes
+ file:
+ path: "{{postgresql_data_dir}}"
+ state: "directory"
+ mode: "0700"
+ owner: "postgres"
+ group: "postgres"
+ notify: restart postgres
+
+- name: ensure postgresql is started
+ become: yes
+ systemd: name="postgresql" enabled="yes" state="started"