Zum Inhalt springen
labkompass

Logbuch#docker#selfhosting#dns

Pi-hole im eigenen Look, und das Update lässt es in Ruhe

Von Niclas Hennrich · veröffentlicht · geschehen am


BuildIm Einsatz

Selbst gebaut und in Betrieb genommen.

Kleine Sache, die ich mir gern früher gemerkt hätte. Die Pi-hole-Weboberfläche lief im Standard-Dark-Theme; ich wollte sie an meine eigene Farbpalette angleichen — Stone-Neutrale mit einem Sky-Akzent, ich nenne sie CLAP. Das Problem: Alles, was man direkt im Container ändert, ist beim nächsten Image-Update weg.

Die Lösung ist ein Volume-Mount über eine einzige Datei. Ich habe das Dark-Theme-CSS von Pi-hole umgefärbt, unter /opt/pihole/custom/pihole-clap.css außerhalb des Containers abgelegt und in der Compose-Datei read-only genau über das Original gelegt:

volumes:
  - /opt/pihole/custom/pihole-clap.css:/var/www/html/admin/style/themes/default-dark.css:ro

Der Container startet, bindet die Datei ein, fertig. Ein Update tauscht das Image, der Mount bleibt — das Theme übersteht Container-Updates, weil die CSS-Datei nie im Container lag.

Der Gedanke ist allgemeiner als Pi-hole: Wer die Web-UI einer Container-App anpassen will, braucht dafür weder einen Fork noch ein eigenes Image. Ein gezielter :ro-Mount über die eine Datei, die sich ändern soll, ist der einfachste update-sichere Weg. Der Haken, den ich im Blick behalte: Verschiebt ein Update den Pfad oder benennt das Theme um, greift der Mount ins Leere, und die Anpassung ist schlicht nicht mehr sichtbar. (Die Compose-Basis dazu: Pi-hole mit Docker Compose betreiben.)

Daraus entstanden