[add] tandoor-and-nginx

This commit is contained in:
roydfalk 2024-12-30 13:35:31 +01:00
parent 83fcb5aca2
commit bacbc78b2e
5 changed files with 106 additions and 0 deletions

View 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"
}

View file

@ -0,0 +1,4 @@
## Verweise
- [Tandoor-Dokumentation | nginx](https://docs.tandoor.dev/install/manual/#nginx)

View 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"
}
}
]

View 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 %}

View 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"
]
}
}