Bläddra i källkod

fix(pihole): handle host network mode correctly

Remove dependency on network_enabled toggle since Network section is now required.
Template now directly checks network_mode value for host/bridge/macvlan logic.
xcad 3 månader sedan
förälder
incheckning
3e3676c68c
1 ändrade filer med 9 tillägg och 9 borttagningar
  1. 9 9
      library/compose/pihole/compose.yaml.j2

+ 9 - 9
library/compose/pihole/compose.yaml.j2

@@ -2,21 +2,21 @@ services:
   {{ service_name }}:
     container_name: {{ container_name }}
     image: docker.io/pihole/pihole:2025.08.0
-    {% if network_enabled and network_mode == 'host' %}
+    {% if network_mode == 'host' %}
     network_mode: host
-    {% elif traefik_enabled or (network_enabled and network_mode == 'macvlan') %}
+    {% elif traefik_enabled or network_mode == 'macvlan' %}
     networks:
       {% if traefik_enabled %}
       {{ traefik_network }}:
       {% endif %}
-      {% if network_enabled and network_mode == 'macvlan' %}
+      {% if network_mode == 'macvlan' %}
       {{ network_name }}:
         ipv4_address: {{ network_macvlan_ipv4_address }}
-      {% elif network_enabled and network_mode == 'bridge' %}
+      {% elif network_mode == 'bridge' %}
       {{ network_name }}:
       {% endif %}
     {% endif %}
-    {% if ports_enabled and not (network_enabled and network_mode in ['host', 'macvlan']) and (not traefik_enabled or dns_enabled or dhcp_enabled) %}
+    {% if ports_enabled and network_mode not in ['host', 'macvlan'] and (not traefik_enabled or dns_enabled or dhcp_enabled) %}
     ports:
       {% if not traefik_enabled %}
       - "{{ ports_http }}:80/tcp"
@@ -60,9 +60,9 @@ volumes:
   config_pihole:
     driver: local
 
-{% if network_enabled or traefik_enabled %}
+{% if network_mode != 'host' and (network_mode in ['bridge', 'macvlan'] or traefik_enabled) %}
 networks:
-  {% if network_enabled and network_mode == 'macvlan' %}
+  {% if network_mode == 'macvlan' %}
   {{ network_name }}:
     driver: macvlan
     driver_opts:
@@ -71,10 +71,10 @@ networks:
       config:
         - subnet: {{ network_macvlan_subnet }}
           gateway: {{ network_macvlan_gateway }}
-  {% elif network_enabled and network_mode == 'bridge' and network_external %}
+  {% elif network_mode == 'bridge' and network_external %}
   {{ network_name }}:
     external: true
-  {% elif network_enabled and network_mode == 'bridge' and not network_external %}
+  {% elif network_mode == 'bridge' and not network_external %}
   {{ network_name }}:
     driver: bridge
   {% endif %}