From d8e0b7cd3d67cfc504cbc47bd61bd9b8ac2f13e1 Mon Sep 17 00:00:00 2001 From: Thomas M Date: Sat, 3 Jan 2026 03:03:33 +0000 Subject: [PATCH] pdns/docker-compose-traefik.yml aktualisiert --- pdns/docker-compose-traefik.yml | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/pdns/docker-compose-traefik.yml b/pdns/docker-compose-traefik.yml index 23fddf7..7831ea7 100644 --- a/pdns/docker-compose-traefik.yml +++ b/pdns/docker-compose-traefik.yml @@ -24,32 +24,35 @@ services: - | set -eu mkdir -p /etc/powerdns/pdns.d - mkdir -p /data - # Pfad finden + # Sicherstellen, dass der /data Ordner existiert und beschreibbar ist + mkdir -p /data + chmod 777 /data + PDNS_BIN=$$(which pdns_server || echo "/usr/local/sbin/pdns_server") - # 1. SQLite Datenbank initialisieren falls sie fehlt if [ "$${PDNS_LAUNCH}" = "gsqlite3" ] && [ ! -f "$${PDNS_GSQLITE3_DATABASE}" ]; then echo "SQLite database not found. Creating and importing schema..." - # Falls sqlite3 im Image ist, nutzen wir es zum Initialisieren - # Das Schema liegt bei PDNS 4.9 oft hier: - SCHEMA_PATH="/usr/local/share/doc/pdns/schema.sqlite3.sql" - [ -f "$$SCHEMA_PATH" ] || SCHEMA_PATH="/usr/share/doc/pdns/schema.sqlite3.sql" - if [ -f "$$SCHEMA_PATH" ]; then - sqlite3 "$${PDNS_GSQLITE3_DATABASE}" < "$$SCHEMA_PATH" - # Rechte sicherstellen + # Suche nach dem Schema-File + for f in /usr/local/share/doc/pdns/schema.sqlite3.sql /usr/share/doc/pdns/schema.sqlite3.sql /etc/powerdns/schema.sqlite3.sql; do + if [ -f "$$f" ]; then SCHEMA_PATH="$$f"; break; fi + done + + if [ -n "$${SCHEMA_PATH:-}" ]; then + # Erstelle die Datei und setze sofort Rechte + touch "$${PDNS_GSQLITE3_DATABASE}" chmod 666 "$${PDNS_GSQLITE3_DATABASE}" + sqlite3 "$${PDNS_GSQLITE3_DATABASE}" < "$$SCHEMA_PATH" echo "Schema imported successfully." else - echo "Warning: Schema file not found. Touching empty file (PDNS might still fail)." + echo "Warning: No schema file found. Initializing empty file." touch "$${PDNS_GSQLITE3_DATABASE}" chmod 666 "$${PDNS_GSQLITE3_DATABASE}" fi fi - # 2. Konfiguration schreiben + # Konfiguration schreiben cat > /etc/powerdns/pdns.d/99-env.conf <