pdns/docker-compose-traefik.yml aktualisiert

This commit is contained in:
2026-01-03 03:01:50 +00:00
parent d2458f778d
commit 3b9fdf7ba7

View File

@@ -24,12 +24,18 @@ services:
- |
set -eu
mkdir -p /etc/powerdns/pdns.d
mkdir -p /var/run/pdns
# Den richtigen Pfad zu pdns_server finden
PDNS_BIN=$$(which pdns_server || echo "/usr/sbin/pdns_server")
# Suche das Binary an den zwei wahrscheinlichsten Orten
if [ -f /usr/local/sbin/pdns_server ]; then
PDNS_BIN="/usr/local/sbin/pdns_server"
elif [ -f /usr/sbin/pdns_server ]; then
PDNS_BIN="/usr/sbin/pdns_server"
else
# Notlösung: Suche im gesamten System
PDNS_BIN=$$(find /usr -name pdns_server | head -n 1)
fi
# Erzeuge die API & Webserver Konfiguration
# Konfiguration schreiben
cat > /etc/powerdns/pdns.d/99-env.conf <<EOF
api=yes
webserver=yes
@@ -41,21 +47,16 @@ services:
launch=$${PDNS_LAUNCH}
EOF
# Backend Spezifika
if [ "$${PDNS_LAUNCH}" = "gsqlite3" ]; then
echo "gsqlite3-database=$${PDNS_GSQLITE3_DATABASE}" >> /etc/powerdns/pdns.d/99-env.conf
else
cat >> /etc/powerdns/pdns.d/99-env.conf <<EOF
gpgsql-host=$${PDNS_GPGSQL_HOST}
gpgsql-port=$${PDNS_GPGSQL_PORT}
gpgsql-dbname=$${PDNS_GPGSQL_DBNAME}
gpgsql-user=$${PDNS_GPGSQL_USER}
gpgsql-password=$${PDNS_GPGSQL_PASSWORD}
EOF
fi
if [ -z "$$PDNS_BIN" ]; then
echo "ERROR: pdns_server not found!"
exit 1
fi
echo "Generated config. Starting $$PDNS_BIN..."
# Hier nutzen wir jetzt die gefundene Variable $$PDNS_BIN
exec $$PDNS_BIN --daemon=no --guardian=no --control-console