[mod]
This commit is contained in:
parent
94ccd09e49
commit
58db617aa8
4
roles/davina_backend-and-nginx/defaults/main.json
Normal file
4
roles/davina_backend-and-nginx/defaults/main.json
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"var_davina_backend_and_nginx_domain": "davina.example.org",
|
||||
"var_davina_backend_and_nginx_tls_mode": "force"
|
||||
}
|
||||
35
roles/davina_backend-and-nginx/tasks/main.json
Normal file
35
roles/davina_backend-and-nginx/tasks/main.json
Normal file
|
|
@ -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_davina_backend_and_nginx_domain}}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "emplace configuration | link",
|
||||
"become": true,
|
||||
"ansible.builtin.file": {
|
||||
"state": "link",
|
||||
"src": "/etc/nginx/sites-available/{{var_davina_backend_and_nginx_domain}}",
|
||||
"dest": "/etc/nginx/sites-enabled/{{var_davina_backend_and_nginx_domain}}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "restart nginx",
|
||||
"become": true,
|
||||
"ansible.builtin.systemd_service": {
|
||||
"state": "restarted",
|
||||
"name": "nginx"
|
||||
}
|
||||
}
|
||||
]
|
||||
36
roles/davina_backend-and-nginx/templates/conf.j2
Normal file
36
roles/davina_backend-and-nginx/templates/conf.j2
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{% macro davina_backend_common() %}
|
||||
location / {
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param REDIRECT_STATUS 200;
|
||||
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
|
||||
}
|
||||
{% endmacro %}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
server_name {{var_davina_backend_and_nginx_domain}};
|
||||
|
||||
{% if var_davina_backend_and_nginx_tls_mode == 'force' %}
|
||||
return 301 https://$http_host$request_uri;
|
||||
{% else %}
|
||||
{{ davina_backend_common() }}
|
||||
{% endif %}
|
||||
}
|
||||
|
||||
{% if var_davina_backend_and_nginx_tls_mode != 'disable' %}
|
||||
server {
|
||||
listen 443 ssl;
|
||||
listen [::]:443 ssl;
|
||||
|
||||
server_name {{var_davina_backend_and_nginx_domain}};
|
||||
|
||||
ssl_certificate_key /etc/ssl/private/{{var_davina_backend_and_nginx_domain}}.pem;
|
||||
ssl_certificate /etc/ssl/fullchains/{{var_davina_backend_and_nginx_domain}}.pem;
|
||||
include /etc/nginx/ssl-hardening.conf;
|
||||
|
||||
{{ davina_backend_common() }}
|
||||
}
|
||||
{% endif %}
|
||||
15
roles/davina_backend-and-nginx/vardef.json
Normal file
15
roles/davina_backend-and-nginx/vardef.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"domain": {
|
||||
"mandatory": false,
|
||||
"type": "string"
|
||||
},
|
||||
"tls_mode": {
|
||||
"mandatory": false,
|
||||
"type": "string",
|
||||
"options": [
|
||||
"disable",
|
||||
"enable",
|
||||
"force"
|
||||
]
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue