Ich wurde herbeigerufen…
Wie marcoi schon angemerkt hat, macht dein compose.yaml nicht das, was es soll.
Wahrscheinlich, weil QNAP typische QNAP-Dinge macht und es nicht mit dem generischen Upstream-Release kompatibel ist.
Du solltest versuchen, das Upstream-Compose zu finden und dann herausfinden, was du anpassen musst, damit es mit QNAPs Docker funktioniert.
SOOOO, etwas, das ich mich bei Anwendungen/Diensten wie pihole schon immer gefragt habe: Was zum Teufel soll man eigentlich mit NAT machen?
Vor allem bei DNS-Auflösung. Wollen wir nicht eine LAN-IP? Und dass sonst nichts im Weg ist?
Also danke @NA9D, dass du mich dazu gebracht hast, das Template zu installieren, denn jetzt habe ich ein paar Dinge über QNAP gelernt.
OKAY, ALSO QNAP-STANDARDEINSTELLUNGEN
version: "3"
services:
pihole:
image: pihole/pihole:2022.12.1
networks:
qnet-network:
ipv4_address: ${QNET_STATIC_IP}
environment:
WEBPASSWORD: ${WEB_PASSWORD}
TZ: ${TZ}
volumes:
- etc-pihole:/etc/pihole
- etc-dnsmasq.d:/etc/dnsmasq.d
restart: unless-stopped
networks:
qnet-network:
driver_opts:
iface: ${QNET_INTERFACE}
driver: qnet
ipam:
driver: qnet
options:
iface: ${QNET_INTERFACE}
config:
- subnet: ${QNET_SUBNET}
gateway: ${QNET_GATEWAY}
volumes:
etc-pihole:
etc-dnsmasq.d:
Wie wir sehen, wird explizit ein Release von 2022 verlangt.
Du und marcoi habt beide :latest verwendet, ich habe keine Ahnung, welcher Tag empfohlen wird, aber ich benutze auch oft :latest für mich selbst.
Ich nehme an, das ist korrekt
Warum nutzen wir einen benannten Mount, wenn wir schon etwas in /share eingerichtet haben?
Kein Wunder, dass sich die Konfigurationsoptionen seit 2022 geändert haben
Das wird später sicher lustig, weil es hier um DNS geht.
Also gehe ich zu docs.pi-hole.net
# Mehr Infos unter https://github.com/pi-hole/docker-pi-hole/ und https://docs.pi-hole.net/
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
ports:
# DNS-Ports
- "53:53/tcp"
- "53:53/udp"
# Standard-HTTP-Port
- "80:80/tcp"
# Standard-HTTPS-Port. FTL generiert ein selbstsigniertes Zertifikat
- "443:443/tcp"
# Auskommentieren, wenn Pi-hole als DHCP-Server genutzt wird
#- "67:67/udp"
# Auskommentieren, wenn Pi-hole als NTP-Server genutzt wird
#- "123:123/udp"
environment:
# Passende Zeitzone für deinen Standort setzen, siehe
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones, z.B.:
TZ: 'America/Chicago'
# Passwort für Weboberfläche setzen. Wenn keines gesetzt wird, wird ein zufälliges Passwort vergeben
FTLCONF_webserver_api_password: 'correct horse battery staple'
# Bei Nutzung des Docker-Standard-`bridge`-Netzwerks sollte der DNS-Listening-Modus auf 'all' gesetzt werden
### FTLCONF_dns_listeningMode: 'all'
# Volumes speichern deine Daten zwischen Container-Upgrades
volumes:
# Zum Persistieren der Pi-hole-Datenbanken und der allgemeinen Konfigurationsdatei
- /share/Container/pihole/config:/etc/pihole
# Auskommentieren, wenn eigene dnsmasq-Konfigurationsdateien dauerhaft gespeichert werden sollen. Für die meisten, die mit Pi-hole v6 neu starten, nicht nötig. Wer von v5 upgradet und dieses Verzeichnis zuvor genutzt hat, sollte es beim ersten v6-Start aktiviert lassen, um eine vollständige Migration zu ermöglichen. Danach kann es entfernt werden. Benötigt Umgebungsvariable FTLCONF_misc_etc_dnsmasq_d: 'true'
#- /share/Container/pihole/etc-dnsmasq.d:/etc/dnsmasq.d
cap_add:
# Siehe https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
# Erforderlich, wenn Pi-hole als DHCP-Server genutzt wird, sonst nicht nötig
- NET_ADMIN
# Erforderlich, wenn Pi-hole als NTP-Client genutzt wird, um die Systemzeit des Hosts setzen zu können
- SYS_TIME
# Optional, falls Pi-hole mehr Rechenzeit bekommen soll
- SYS_NICE
restart: always
Jup, das ist anders. Sieht auch so aus, als könnten wir das zweite Bind-Mount weglassen.
ABER ich denke, wir müssen das qnet-network-Zeug behalten. Also vielleicht so etwas wie…
# Mehr Infos unter https://github.com/pi-hole/docker-pi-hole/ und https://docs.pi-hole.net/
networks:
qnet-network:
driver_opts:
iface: eth0
driver: qnet
ipam:
driver: qnet
options:
iface: eth0
config:
- subnet: '10.0.0.0/24'
gateway: '10.0.0.1'
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
networks:
qnet-network:
ipv4_address: '10.0.0.10'
hostname: pihole
ports:
# DNS-Ports
- "53:53/tcp"
- "53:53/udp"
# Standard-HTTP-Port
- "80:80/tcp"
# Standard-HTTPS-Port. FTL generiert ein selbstsigniertes Zertifikat
- "443:443/tcp"
# Auskommentieren, wenn Pi-hole als DHCP-Server genutzt wird
#- "67:67/udp"
# Auskommentieren, wenn Pi-hole als NTP-Server genutzt wird
#- "123:123/udp"
environment:
# Passende Zeitzone für deinen Standort setzen, siehe
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones, z.B.:
TZ: 'America/Chicago'
# Passwort für Weboberfläche setzen. Wenn keines gesetzt wird, wird ein zufälliges Passwort vergeben
FTLCONF_webserver_api_password: 'correct horse battery staple'
# Bei Nutzung des Docker-Standard-`bridge`-Netzwerks sollte der DNS-Listening-Modus auf 'all' gesetzt werden
### FTLCONF_dns_listeningMode: 'all'
#### Weil QNAP (ich habe einen eigenen User für alle Docker-Sachen)
PIHOLE_UID: 1000
PIHOLE_GID: 1001
# Volumes speichern deine Daten zwischen Container-Upgrades
volumes:
# Zum Persistieren der Pi-hole-Datenbanken und der allgemeinen Konfigurationsdatei
- /share/Container/pihole/config:/etc/pihole
# Auskommentieren, wenn eigene dnsmasq-Konfigurationsdateien dauerhaft gespeichert werden sollen. Für die meisten, die mit Pi-hole v6 neu starten, nicht nötig. Wer von v5 upgradet und dieses Verzeichnis zuvor genutzt hat, sollte es beim ersten v6-Start aktiviert lassen, um eine vollständige Migration zu ermöglichen. Danach kann es entfernt werden. Benötigt Umgebungsvariable FTLCONF_misc_etc_dnsmasq_d: 'true'
#- /share/Container/pihole/etc-dnsmasq.d:/etc/dnsmasq.d
cap_add:
# Siehe https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
# Erforderlich, wenn Pi-hole als DHCP-Server genutzt wird, sonst nicht nötig
- NET_ADMIN
# Erforderlich, wenn Pi-hole als NTP-Client genutzt wird, um die Systemzeit des Hosts setzen zu können
- SYS_TIME
# Optional, falls Pi-hole mehr Rechenzeit bekommen soll
- SYS_NICE
restart: always
Es läuft! Viel Erfolg mit dem Rest @NA9D
@SteveKo Was ist so besonders an driver: qnet? Es scheint einfach ein weiteres macvlan zu sein, nur dass ihr das ganze IPV6 rausgerissen habt. Das ist irgendwie Mist 
Ich brauche wirklich, dass ihr euch um IPV6 kümmert, ich habe es satt, ständig kämpfen zu müssen, damit überhaupt irgendwas halbwegs funktioniert.