No description
  • Jinja 81.4%
  • Shell 18.6%
Find a file
Kevin Heyer 4ff2669b6c
All checks were successful
/ lint (push) Successful in 3m7s
/ image (push) Successful in 12m30s
Adopt existing AdGuard Home installations
adopt.sh takes over the layout of the official install script
(/opt/AdGuardHome): configuration moves to /etc/AdGuardHome, data to
/var/lib/adguardhome, the service runs as adguard and existing logins
stay. The check refuses before any change what iac cannot keep (other
ports or bind addresses, DHCP, TLS, no login, own data paths, -c/-w)
and points to docs/MIGRATION.md for the manual way.

Not tested: lint, Ansible syntax and an adopt run were not available
locally (no ansible-core, jq, Docker).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 16:28:53 +02:00
.forgejo/workflows add Worflow und Agent Rules. 2026-10-12 15:52:44 +02:00
docs Adopt existing AdGuard Home installations 2026-10-12 16:28:53 +02:00
files first commit 2026-10-12 15:52:03 +02:00
handlers first commit 2026-10-12 15:52:03 +02:00
tasks Adopt existing AdGuard Home installations 2026-10-12 16:28:53 +02:00
templates first commit 2026-10-12 15:52:03 +02:00
tests first commit 2026-10-12 15:52:03 +02:00
.clinerules add Worflow und Agent Rules. 2026-10-12 15:52:44 +02:00
.cursorrules add Worflow und Agent Rules. 2026-10-12 15:52:44 +02:00
.windsurfrules add Worflow und Agent Rules. 2026-10-12 15:52:44 +02:00
AGENTS.md Adopt existing AdGuard Home installations 2026-10-12 16:28:53 +02:00
CHANGELOG.md Adopt existing AdGuard Home installations 2026-10-12 16:28:53 +02:00
CLAUDE.md first commit 2026-10-12 15:52:03 +02:00
GEMINI.md first commit 2026-10-12 15:52:03 +02:00
iac.json Adopt existing AdGuard Home installations 2026-10-12 16:28:53 +02:00
README.md Adopt existing AdGuard Home installations 2026-10-12 16:28:53 +02:00

iac-adguard

AdGuard Home für Debian 13 auf Proxmox VE, als LXC oder VM. Das Repository ist eine Ansible-Rolle für iac-core v2.

Installation

Auf einer Proxmox-Node:

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

Nach der Installation ist die Weboberfläche unter http://<IP>:3000/ erreichbar. Benutzername: admin. Das initiale Passwort steht im Gast in /etc/iac/settings.env:

grep '^adguard_admin_password=' /etc/iac/settings.env

DNS ist unter <IP>:53 über TCP und UDP erreichbar. Firewall-Regeln beschränken DNS und die Weboberfläche auf private Netze.

Bestehende Installation übernehmen

Im Gast mit der vorhandenen AdGuard-Home-Installation (als root):

bash -c "$(curl -fsSL https://iac.heyer.systems/adguard/adopt.sh)"

Übernommen wird das Layout des offiziellen Install-Skripts (/opt/AdGuardHome). adopt.sh prüft zuerst ohne Änderung, fragt nach, sichert nach /var/backups/iac/ und verschiebt dann Konfiguration und Daten ins iac-Layout. Deine Logins und Einstellungen bleiben erhalten. Was nicht automatisch geht (DHCP, Verschlüsselung, andere Ports, andere Pfade): docs/MIGRATION.md.

Konfiguration und Updates

  • AdGuard Home wird aus dem offiziellen GitHub-Release installiert; der Download wird gegen checksums.txt geprüft.
  • iac_version von iac-core bestimmt installierte und Zielversion.
  • Standard-Upstream ist Quad9 per DNS-over-HTTPS (https://dns.quad9.net/dns-query); die Bootstrap-Auflösung verwendet 9.9.9.9 und 149.112.112.112.
  • Die initiale Konfiguration wird nur angelegt, wenn noch keine vorhanden ist. Änderungen, die AdGuard später an /etc/AdGuardHome/AdGuardHome.yaml vornimmt, werden bei Updates nicht überschrieben.
  • Laufzeitdaten liegen in /var/lib/adguardhome.
  • DNS-Port 53 muss frei sein. Prüfe bei Problemen insbesondere systemd-resolved oder andere DNS-Dienste.

Im Gast aktualisieren:

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

Entwicklung und Tests

iac-core/tools/lint.sh iac-adguard
iac-core/tools/dev-container.sh iac-adguard
iac-core/tools/dev-container.sh iac-adguard  # Idempotenz / Update-Pfad prüfen

Der Dev-Container- und VM-Test müssen vor einer produktiven Veröffentlichung erfolgreich durchlaufen werden.