[add] tandoor-and-nginx
This commit is contained in:
parent
83fcb5aca2
commit
bacbc78b2e
5 changed files with 106 additions and 0 deletions
5
roles/tandoor-and-nginx/defaults/main.json
Normal file
5
roles/tandoor-and-nginx/defaults/main.json
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"var_tandoor_and_nginx_domain": "tandoor.example.org",
|
||||
"var_tandoor_and_nginx_port": 1256,
|
||||
"var_tandoor_and_nginx_tls_mode": "force"
|
||||
}
|
4
roles/tandoor-and-nginx/info.md
Normal file
4
roles/tandoor-and-nginx/info.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
## Verweise
|
||||
|
||||
- [Tandoor-Dokumentation | nginx](https://docs.tandoor.dev/install/manual/#nginx)
|
||||
|
35
roles/tandoor-and-nginx/tasks/main.json
Normal file
35
roles/tandoor-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_tandoor_and_nginx_domain}}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "emplace configuration | link",
|
||||
"become": true,
|
||||
"ansible.builtin.file": {
|
||||
"state": "link",
|
||||
"src": "/etc/nginx/sites-available/{{var_tandoor_and_nginx_domain}}",
|
||||
"dest": "/etc/nginx/sites-enabled/{{var_tandoor_and_nginx_domain}}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "restart nginx",
|
||||
"become": true,
|
||||
"ansible.builtin.systemd_service": {
|
||||
"state": "restarted",
|
||||
"name": "nginx"
|
||||
}
|
||||
}
|
||||
]
|
43
roles/tandoor-and-nginx/templates/conf.j2
Normal file
43
roles/tandoor-and-nginx/templates/conf.j2
Normal file
|
@ -0,0 +1,43 @@
|
|||
{% macro tandoor_common() %}
|
||||
location /static/ {
|
||||
alias /var/www/recipes/staticfiles;
|
||||
}
|
||||
|
||||
location /media/ {
|
||||
alias /var/www/recipes/mediafiles;
|
||||
}
|
||||
|
||||
location / {
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_pass http://unix:/var/www/recipes/recipes.sock;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
{% endmacro %}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
server_name {{var_tandoor_and_nginx_domain}};
|
||||
|
||||
{% if var_tandoor_and_nginx_tls_mode == 'force' %}
|
||||
return 301 https://$http_host$request_uri;
|
||||
{% else %}
|
||||
{{ tandoor_common() }}
|
||||
{% endif %}
|
||||
}
|
||||
|
||||
{% if var_tandoor_and_nginx_tls_mode != 'disable' %}
|
||||
server {
|
||||
listen 443 ssl;
|
||||
listen [::]:443 ssl;
|
||||
|
||||
server_name {{var_tandoor_and_nginx_domain}};
|
||||
|
||||
ssl_certificate_key /etc/ssl/private/{{var_tandoor_and_nginx_domain}}.pem;
|
||||
ssl_certificate /etc/ssl/fullchains/{{var_tandoor_and_nginx_domain}}.pem;
|
||||
include /etc/nginx/ssl-hardening.conf;
|
||||
|
||||
{{ tandoor_common() }}
|
||||
}
|
||||
{% endif %}
|
19
roles/tandoor-and-nginx/vardef.json
Normal file
19
roles/tandoor-and-nginx/vardef.json
Normal file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"domain": {
|
||||
"mandatory": false,
|
||||
"type": "string"
|
||||
},
|
||||
"port": {
|
||||
"mandatory": false,
|
||||
"type": "integer"
|
||||
},
|
||||
"tls_mode": {
|
||||
"mandatory": false,
|
||||
"type": "string",
|
||||
"options": [
|
||||
"disable",
|
||||
"enable",
|
||||
"force"
|
||||
]
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue