These screenshots show a verified local development stack with the documented default account and loopback-only DNS endpoint. No real network or access data is included.
RootGuard schützt alle Geräte in deinem Netzwerk zentral vor Werbung und bekannten Trackern. Eine übersichtliche Weboberfläche verbindet dafür AdGuard Home mit einem eigenen rekursiven Unbound-Resolver – als vollständiger, selbst betriebener Docker-Compose-Stack für netzwerkweite DNS-Filterung, rekursive DNS-Auflösung und DNSSEC-Validierung.
Website · Handbuch · Wiki · Roadmap · Releases
Important
RootGuard befindet sich in einer öffentlichen Alpha. Die Version ist zum Ausprobieren und für reproduzierbare Rückmeldungen gedacht. Sie ist noch nicht für den Einsatz als einziger DNS-Dienst in einer Produktivumgebung vorgesehen.
Ein DNS-Filter kann Werbung und Tracker für Fernseher, Smartphones, Spielekonsolen und Computer blockieren, ohne auf jedem Gerät eine Erweiterung zu installieren. RootGuard ergänzt diese Filterung um einen eigenen Resolver und eine gemeinsame Bedienoberfläche.
- Netzwerkweite Filterung: AdGuard Home stoppt unerwünschte DNS-Anfragen.
- Eigene DNS-Auflösung: Unbound fragt die DNS-Hierarchie rekursiv ab und validiert DNSSEC.
- Zentrale Verwaltung: Setup, Konfiguration, Updates und Rollbacks laufen über die RootGuard-Weboberfläche.
- Geführtes lokales DNS: Lokale Einträge, private Domains, Conditional Forwarding und sichere RFC1918-Reverse-Zonen kommen ohne rohe Unbound-Konfiguration aus.
- Self-hosted und offen: Daten und Kontrolle bleiben auf dem eigenen Docker-Host; der Quellcode ist unter AGPL-3.0-or-later verfügbar.
Geräte im Netzwerk → AdGuard Home → Unbound → DNS-Hierarchie
Filter DNSSEC
Voraussetzung ist ein Rechner mit Docker Compose v2. Die öffentliche Alpha
verwendet fertige Images für amd64 und arm64; ein lokaler Build ist nicht
notwendig.
mkdir rootguard-alpha && cd rootguard-alpha
curl -LO https://raw.githubusercontent.com/foxly-it/rootguard/v0.1.0-alpha.5/compose.alpha.yaml
curl -Lo .env https://raw.githubusercontent.com/foxly-it/rootguard/v0.1.0-alpha.5/.env.alpha.exampleErzeuge zwei voneinander unabhängige Sicherheitsschlüssel:
openssl rand -hex 32
openssl rand -hex 32Trage in .env ein eigenes starkes ROOTGUARD_ADMIN_PASSWORD sowie die beiden
Werte getrennt als ROOTGUARD_API_TOKEN und ROOTGUARD_RECOVERY_TOKEN ein.
Starte anschließend den Stack:
docker compose -f compose.alpha.yaml up -dÖffne http://<IP-des-Docker-Hosts>:8080/login und folge dem geführten Setup.
Dabei kannst du zwischen dem empfohlenen Stable-Kanal und einer ausdrücklich
als experimentell gekennzeichneten AdGuard-Home-Beta wählen. Beta kann Fehler
enthalten; DNS-Auflösung und Blocking dürfen deshalb nicht als ausfallsicher
betrachtet werden.
Die vollständigen Voraussetzungen, Router-Einrichtung und Fehlerbehebung stehen
im Handbuch.
| Komponente | Aufgabe |
|---|---|
| RootGuard WebApp | Login, Dashboard und geführte Bedienung |
| RootGuard Core | Orchestrierung und geprüfte Konfigurationsänderungen |
| RootGuard Updater | Gemeinsame Core-/WebApp-Updates mit Rollback |
| AdGuard Home | Netzwerkweite DNS-Filterung |
| Unbound | Rekursive DNS-Auflösung und DNSSEC-Validierung |
Die Live-Produktansicht zeigt die aktuelle Oberfläche. Architektur, Vertrauensgrenzen und Update-Abläufe sind bewusst aus diesem Einstieg ausgelagert:
- Installation und Betrieb
- Architektur
- Aktueller Projektstand
- Roadmap bis 1.0
- Release Notes v0.1.0-alpha.5
- Image-Digests und Aufbewahrungsregeln
- Geprüfte Installationsplattformen
Für Änderungen am gesamten Projekt wird das Repository mit seinen Komponenten-Submodules geklont:
git clone --recurse-submodules https://github.com/foxly-it/rootguard.git
cd rootguard
cp .env.example .env
docker compose up --build -dDie Komponenten bleiben eigenständige Repositories:
| Repository | Verantwortung |
|---|---|
rootguard-core |
Control Plane und DNS-Orchestrierung |
rootguard-webapp |
Weboberfläche und Sitzungsverwaltung |
rootguard-updater |
Kontrollierte Control-Plane-Updates |
rootguard-unbound |
Gehärtetes Unbound-Image |
Beiträge, Tests und verständliche Dokumentation sind willkommen. Der Beitragsleitfaden erklärt Entwicklungssetup, Zuständigkeiten, Tests und Pull Requests.
Ein guter Einstieg sind Issues mit
good first issue
oder help wanted.
Sicherheitsprobleme bitte nicht öffentlich melden, sondern den Hinweisen in
SECURITY.md folgen.
RootGuard ist freie Software unter GNU AGPL-3.0-or-later. Hinweise zur Nutzung der Namen und Logos von RootGuard und Foxly IT stehen in TRADEMARKS.md.
RootGuard centrally protects every device on your network from ads and known trackers. Its approachable web interface combines AdGuard Home with a private, recursive Unbound resolver in one self-hosted Docker Compose stack for network-wide DNS filtering, recursive DNS, and DNSSEC validation.
Website · Documentation · Wiki · Roadmap · Releases
Important
RootGuard is a public alpha intended for evaluation and reproducible feedback. It is not yet recommended as the only DNS service for a production network.
A DNS filter can block ads and trackers for TVs, smartphones, game consoles, computers, and IoT devices without installing an extension on every device. RootGuard adds a private recursive resolver and one coherent management interface.
- Network-wide ad and tracker blocking: AdGuard Home filters unwanted DNS requests before they reach your devices.
- Private recursive DNS: Unbound resolves names through the DNS hierarchy and validates DNSSEC signatures.
- Unified management: Guided setup, configuration, updates, health checks, diagnostics, and rollbacks live in the RootGuard WebGUI.
- Guided local DNS: Manage local records, private domains, conditional forwarding, and RFC1918 reverse zones without editing raw Unbound files.
- Self-hosted and open source: Data and control remain on your Docker host; the source is available under AGPL-3.0-or-later.
Network devices → AdGuard Home → Unbound → DNS hierarchy
filtering DNSSEC
RootGuard requires Docker Compose v2. The public alpha provides ready-made
amd64 and arm64 container images, so no local build is required.
mkdir rootguard-alpha && cd rootguard-alpha
curl -LO https://raw.githubusercontent.com/foxly-it/rootguard/v0.1.0-alpha.5/compose.alpha.yaml
curl -Lo .env https://raw.githubusercontent.com/foxly-it/rootguard/v0.1.0-alpha.5/.env.alpha.exampleGenerate two independent random security tokens:
openssl rand -hex 32
openssl rand -hex 32Set a strong ROOTGUARD_ADMIN_PASSWORD in .env and use the generated values
separately for ROOTGUARD_API_TOKEN and ROOTGUARD_RECOVERY_TOKEN. Then start
the stack:
docker compose -f compose.alpha.yaml up -dOpen http://<docker-host-ip>:8080/login and follow the guided setup. The setup
offers the recommended Stable channel and an explicitly experimental
AdGuard Home Beta channel. Beta may contain bugs; DNS resolution and blocking
must not be treated as fail-safe when it is selected. See the
installation guide for
requirements, router configuration, upgrades, and troubleshooting.
| Component | Responsibility |
|---|---|
| RootGuard WebApp | Login, dashboard, and guided management |
| RootGuard Core | Orchestration and validated configuration changes |
| RootGuard Updater | Coordinated Core/WebApp updates with rollback |
| AdGuard Home | Network-wide DNS filtering |
| Unbound | Recursive DNS resolution and DNSSEC validation |
Further technical information:
- Architecture and trust boundaries
- Current project state
- Roadmap to 1.0
- Release notes for v0.1.0-alpha.5
- Image digests and retention policy
- Verified installation platforms
Clone the main repository with all component submodules:
git clone --recurse-submodules https://github.com/foxly-it/rootguard.git
cd rootguard
cp .env.example .env
docker compose up --build -dContributions, testing, and clear documentation are welcome. Read CONTRIBUTING.md before opening a pull request. Report security vulnerabilities privately by following SECURITY.md.
RootGuard is free and open-source software licensed under GNU AGPL-3.0-or-later. See TRADEMARKS.md for the RootGuard and Foxly IT name and logo policy.


