Logbuch#docker#selfhosting#dns
Pi-hole im eigenen Look, und das Update lässt es in Ruhe
Von Niclas Hennrich · veröffentlicht · geschehen am
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:roDer 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.)