|
1 | 1 | {% for name, service in services.items() %} |
2 | | -{% if service.enabled %} |
3 | | -{{ service.domain }} { |
4 | | -{% if name == "adventure_log" %} |
5 | | - @frontend { |
6 | | - not path /media* /admin* /static* /accounts* |
7 | | - } |
8 | | - reverse_proxy @frontend {{ service.container_names.frontend }}:{{ service.ports.frontend }} |
9 | | - reverse_proxy {{ service.container_names.backend }}:{{ service.ports.backend }} |
10 | | -{% elif name == "beszel" %} |
11 | | - request_body { |
12 | | - max_size 10MB |
13 | | - } |
14 | | - reverse_proxy {{ service.container_name }}:{{ service.port }} { |
15 | | - transport http { |
16 | | - read_timeout 360s |
17 | | - } |
18 | | - } |
19 | | -{% elif name == "n8n" %} |
20 | | - reverse_proxy {{ service.container_name }}:{{ service.port }} { |
21 | | - flush_interval -1 |
22 | | - } |
23 | | -{% elif name == "nextcloud" %} |
24 | | - header Strict-Transport-Security max-age=31536000; |
| 2 | +{% if service.enabled and service.domain == domain %} |
| 3 | +{{ domain }} { |
25 | 4 | reverse_proxy {{ service.container_name }}:{{ service.port }} |
26 | | -{% elif name == "nextcloud_aio" %} |
27 | | - reverse_proxy {{ service.container_name }}:{{ service.port }} { |
28 | | - transport http { |
29 | | - tls_insecure_skip_verify |
| 5 | +} |
| 6 | +{% endif %} |
| 7 | +{% endfor %} |
| 8 | + |
| 9 | +*.{{ domain }} { |
| 10 | + tls internal |
| 11 | + |
| 12 | + {% for name, service in services.items() %} |
| 13 | + {% if service.enabled and service.domain == domain %} |
| 14 | + @www host www.{{ domain }} |
| 15 | + |
| 16 | + redir @www {scheme}://{{ domain }}/{uri} permanent |
| 17 | + |
| 18 | + {% endif %} |
| 19 | + {% endfor %} |
| 20 | + |
| 21 | + {% for name, service in services.items() %} |
| 22 | + {% if service.enabled and service.domain != domain %} |
| 23 | + @{{ name }} host {{ service.domain }} |
| 24 | + |
| 25 | + handle @{{ name }} { |
| 26 | + {% if name == "adventure_log" %} |
| 27 | + @frontend { |
| 28 | + not path /media* /admin* /static* /accounts* |
30 | 29 | } |
31 | | - } |
32 | | -{% elif name == "vaultwarden" %} |
33 | | - encode zstd gzip |
34 | | - reverse_proxy {{ service.container_name }}:{{ service.port }} { |
35 | | - header_up X-Real-IP {remote_host} |
36 | | - } |
37 | | -{% elif name == "wger" %} |
38 | | - encode |
| 30 | + reverse_proxy @frontend {{ service.container_names.frontend }}:{{ service.ports.frontend }} |
| 31 | + reverse_proxy {{ service.container_names.backend }}:{{ service.ports.backend }} |
| 32 | + {% elif name == "beszel" %} |
| 33 | + request_body { |
| 34 | + max_size 10MB |
| 35 | + } |
| 36 | + reverse_proxy {{ service.container_name }}:{{ service.port }} { |
| 37 | + transport http { |
| 38 | + read_timeout 360s |
| 39 | + } |
| 40 | + } |
| 41 | + {% elif name == "n8n" %} |
| 42 | + reverse_proxy {{ service.container_name }}:{{ service.port }} { |
| 43 | + flush_interval -1 |
| 44 | + } |
| 45 | + {% elif name == "nextcloud" %} |
| 46 | + header Strict-Transport-Security max-age=31536000; |
| 47 | + reverse_proxy {{ service.container_name }}:{{ service.port }} |
| 48 | + {% elif name == "nextcloud_aio" %} |
| 49 | + reverse_proxy {{ service.container_name }}:{{ service.port }} { |
| 50 | + transport http { |
| 51 | + tls_insecure_skip_verify |
| 52 | + } |
| 53 | + } |
| 54 | + {% elif name == "vaultwarden" %} |
| 55 | + encode zstd gzip |
| 56 | + reverse_proxy {{ service.container_name }}:{{ service.port }} { |
| 57 | + header_up X-Real-IP {remote_host} |
| 58 | + } |
| 59 | + {% elif name == "wger" %} |
| 60 | + encode |
39 | 61 |
|
40 | | - reverse_proxy {{ service.container_name }}:{{ service.port }} { |
41 | | - header_up X-Real-IP {remote_host} |
42 | | - } |
| 62 | + reverse_proxy {{ service.container_name }}:{{ service.port }} { |
| 63 | + header_up X-Real-IP {remote_host} |
| 64 | + } |
43 | 65 |
|
44 | | - handle /static/* { |
45 | | - root * /srv/wger |
46 | | - file_server |
| 66 | + handle /static/* { |
| 67 | + root * /srv/wger |
| 68 | + file_server |
| 69 | + } |
| 70 | + |
| 71 | + handle /media/* { |
| 72 | + root * /srv/wger |
| 73 | + file_server |
| 74 | + } |
| 75 | + {% else %} |
| 76 | + reverse_proxy {{ service.container_name }}:{{ service.port }} |
| 77 | + {% endif %} |
47 | 78 | } |
| 79 | + {% endif %} |
| 80 | + {% endfor %} |
48 | 81 |
|
49 | | - handle /media/* { |
50 | | - root * /srv/wger |
51 | | - file_server |
| 82 | + handle { |
| 83 | + redir https://{{ domain }}{uri} |
52 | 84 | } |
53 | | -{% else %} |
54 | | - reverse_proxy {{ service.container_name }}:{{ service.port }} |
55 | | -{% endif %} |
56 | 85 | } |
57 | | -{% endif %} |
58 | | -{% endfor %} |
|
0 commit comments