From 15af3efdab8e50767ad10c977a9f226bbfb9e955 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Fra=C3=9F?= Date: Mon, 11 Dec 2023 02:44:11 +0100 Subject: [PATCH] [add] role:authelia-and-nginx --- .../authelia-and-nginx/defaults/main.json | 3 ++ ansible/roles/authelia-and-nginx/info.md | 3 ++ .../roles/authelia-and-nginx/tasks/main.json | 35 +++++++++++++++++++ .../authelia-and-nginx/templates/conf.j2 | 26 ++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 ansible/roles/authelia-and-nginx/defaults/main.json create mode 100644 ansible/roles/authelia-and-nginx/info.md create mode 100644 ansible/roles/authelia-and-nginx/tasks/main.json create mode 100644 ansible/roles/authelia-and-nginx/templates/conf.j2 diff --git a/ansible/roles/authelia-and-nginx/defaults/main.json b/ansible/roles/authelia-and-nginx/defaults/main.json new file mode 100644 index 0000000..7559dcb --- /dev/null +++ b/ansible/roles/authelia-and-nginx/defaults/main.json @@ -0,0 +1,3 @@ +{ + "var_authelia_and_nginx_domain": "authelia.example.org" +} diff --git a/ansible/roles/authelia-and-nginx/info.md b/ansible/roles/authelia-and-nginx/info.md new file mode 100644 index 0000000..670d9f0 --- /dev/null +++ b/ansible/roles/authelia-and-nginx/info.md @@ -0,0 +1,3 @@ +## Verweise + +- [Authelia-Dokumentation](https://www.authelia.com/integration/proxies/nginx/) diff --git a/ansible/roles/authelia-and-nginx/tasks/main.json b/ansible/roles/authelia-and-nginx/tasks/main.json new file mode 100644 index 0000000..87dcf2b --- /dev/null +++ b/ansible/roles/authelia-and-nginx/tasks/main.json @@ -0,0 +1,35 @@ +[ + { + "name": "deactivate default site", + "become": true, + "ansible.builtin.file": { + "state": "absent", + "dest": "/etc/nginx/sites-enabled/default" + } + }, + { + "name": "emplace configuration | data", + "become": true, + "ansible.builtin.template": { + "src": "conf.j2", + "dest": "/etc/nginx/sites-available/{{var_authelia_and_nginx_domain}}" + } + }, + { + "name": "emplace configuration | link", + "become": true, + "ansible.builtin.file": { + "state": "link", + "src": "/etc/nginx/sites-available/{{var_authelia_and_nginx_domain}}", + "dest": "/etc/nginx/sites-enabled/{{var_authelia_and_nginx_domain}}" + } + }, + { + "name": "restart nginx", + "become": true, + "ansible.builtin.systemd_service": { + "state": "restarted", + "name": "nginx" + } + } +] diff --git a/ansible/roles/authelia-and-nginx/templates/conf.j2 b/ansible/roles/authelia-and-nginx/templates/conf.j2 new file mode 100644 index 0000000..8202046 --- /dev/null +++ b/ansible/roles/authelia-and-nginx/templates/conf.j2 @@ -0,0 +1,26 @@ +server { + listen 80; + server_name auth.*; + + return 301 https://$server_name$request_uri; +} + +server { + listen 443 ssl http2; + server_name {{var_authelia_and_nginx_domain}}; + + # include /config/nginx/snippets/ssl.conf; + ssl_certificate /etc/ssl/certs/{{var_authelia_and_nginx_domain}}.pem; + ssl_certificate_key /etc/ssl/private/{{var_authelia_and_nginx_domain}}.pem; + + set $upstream http://localhost:9091; + + location / { + # include /config/nginx/snippets/proxy.conf; + proxy_pass $upstream; + } + + location /api/verify { + proxy_pass $upstream; + } +}