No description
  • Jinja 75.1%
  • Shell 24.9%
Find a file
Kevin Heyer fd8e9a752a
Some checks are pending
/ image (push) Waiting to run
/ lint (push) Successful in 5m8s
Read the latest core and web release without the API
The redirect of github.com/<repo>/releases/latest is not rate limited
like api.github.com (60 requests an hour per IP). Only the SHA256
digest of a new FTL release still needs the API.

Tested: lint.sh; dev-container.sh twice (smoke green, second run
changed=1); update mode reads both tags and stays idempotent.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011yGoNphy8jxVZD7Jhd9a7T
2026-10-15 12:30:06 +02:00
.forgejo/workflows Add Pi-hole v6 app 2026-10-15 10:29:49 +02:00
.vibe Add the agent pointer for Mistral Vibe 2026-10-15 12:23:51 +02:00
files Add Pi-hole v6 app 2026-10-15 10:29:49 +02:00
handlers Add Pi-hole v6 app 2026-10-15 10:29:49 +02:00
tasks Read the latest core and web release without the API 2026-10-15 12:30:06 +02:00
templates Add Pi-hole v6 app 2026-10-15 10:29:49 +02:00
tests Add Pi-hole v6 app 2026-10-15 10:29:49 +02:00
.clinerules Add Pi-hole v6 app 2026-10-15 10:29:49 +02:00
.cursorrules Add Pi-hole v6 app 2026-10-15 10:29:49 +02:00
.windsurfrules Add Pi-hole v6 app 2026-10-15 10:29:49 +02:00
AGENTS.md Add Pi-hole v6 app 2026-10-15 10:29:49 +02:00
CHANGELOG.md Add Pi-hole v6 app 2026-10-15 10:29:49 +02:00
CLAUDE.md Add Pi-hole v6 app 2026-10-15 10:29:49 +02:00
docker-compose.yml Add Pi-hole v6 app 2026-10-15 10:29:49 +02:00
GEMINI.md Add Pi-hole v6 app 2026-10-15 10:29:49 +02:00
iac.json Add Pi-hole v6 app 2026-10-15 10:29:49 +02:00
README.md Add Pi-hole v6 app 2026-10-15 10:29:49 +02:00

iac-pihole

Pi-hole v6 – netzwerkweiter DNS-Werbeblocker – für Debian 13 auf Proxmox VE, als LXC oder VM. Teil von iac.

Installation (auf der Proxmox-Node)

bash -c "$(curl -fsSL https://iac.heyer.systems/pihole/ct.sh)"   # LXC
bash -c "$(curl -fsSL https://iac.heyer.systems/pihole/vm.sh)"   # VM

Ohne Dialog: IAC_NONINTERACTIVE=1 und var_*-Variablen – am einfachsten mit dem Generator auf https://iac.heyer.systems/apps/pihole/.

Nach der Installation

  • Weboberfläche: http://<IP>/admin/ – es gibt nur ein Passwort, keinen Benutzernamen. Es wird pro Instanz erzeugt und steht im Gast:

    grep pihole_admin_password /etc/iac/settings.env
    

    Ändern lässt es sich in der Weboberfläche oder mit pihole setpassword; ein späteres update setzt es nicht zurück.

  • DNS: <IP>:53 (TCP und UDP). Trage die IP im Router oder DHCP-Server als DNS-Server ein.

  • HTTPS auf Port 443 nutzt ein selbstsigniertes Zertifikat von Pi-hole.

  • Die Firewall lässt DNS und Weboberfläche nur aus privaten Netzen zu.

Was installiert wird

  • FTL (DNS, Webserver, API) als Binary aus dem GitHub-Release pi-hole/FTL; der Download wird gegen den SHA256-Digest geprüft, den GitHub für das Asset führt. FTL bestimmt die App-Version.
  • Core-Skripte (pihole-Befehl, Gravity) und Weboberfläche aus den neuesten Release-Tags ihrer Git-Repositories – ohne das Installer-Skript von Pi-hole.
  • FTL läuft als Benutzer pihole in einer systemd-Sandbox.
  • Upstream-DNS ist Quad9 (9.9.9.9, 149.112.112.112), anpassbar in der Weboberfläche.
  • Erste Blockliste: StevenBlack's Unified Hosts (wie vom Pi-hole-Installer vorgeschlagen). Die Listen werden sonntags um 01:59 neu geladen.
  • Kein DHCP-Server und kein NTP-Server.

Konfiguration und Datenbanken liegen in /etc/pihole, Logs in /var/log/pihole. Die Konfiguration /etc/pihole/pihole.toml wird nur bei der ersten Installation angelegt; danach verwaltet Pi-hole sie selbst, und update lässt deine Änderungen in Ruhe.

Update (im Gast)

update

update holt das neueste FTL-Release sowie die neuesten Releases von Core und Weboberfläche. pihole -up ist nicht vorgesehen – Updates kommen nur über update.

Selbsttest (im Gast)

bash /var/lib/iac/src/core/bin/iac-smoke

Docker

Für Docker-Hosts liegt eine einfache docker-compose.yml mit dem offiziellen Image pihole/pihole bei – Anleitung im Kopf der Datei.