Skip to main content

Praktische Anleitung: AdGuard Home und Nginx Proxy Manager zusammen betreiben

BelowHier isist aeine clear,klare, actionable,umsetzbare scalableund wayskalierbare Methode, to combineum AdGuard Home withmit Nginx Proxy Manager thatzu mirrorskombinieren the reasoninganalog andzur qualityQualität ofund theLogik des Pi-hole + NPMNPM-Setups, setupdas youdu alreadybereits reviewedkennst, aber butangepasst adaptedan fordie thearchitektonischen architecturalund andprotokollbedingten protocolUnterschiede differences thatvon AdGuard HomeHome. introduces.(adguard.com)

InKurz short:gesagt:

  • AdGuard Home becomeswird yourdeine maßgebliche DNS-Quelle (optional auch mit verschlüsseltem DNS source of truth (and optionally encrypted DNS — DoH/DoT)
  • Nginx Proxy Manager (NPM) handlesübernimmt HTTP/HTTPS forfür weballe interfacesWeb-Oberflächen andund servicesDienste
  • You separate DNS fromund webWeb-Traffic trafficwerden andsauber avoidgetrennt port conflictskeine Port-Konflikte

Core PrinciplesGrundprinzipien

1) LetAdGuard Home nur für DNS nutzen, nicht für HTTP

Die Stärke von AdGuard Home handleliegt DNS,in not HTTP

AdGuard Home’s strength is network-widenetzwerkweitem DNS + filter/parentalFilter-/Kindersicherungs-Funktionen. controlEs features.unterstützt Itnativ nativelydie supportsverschlüsselten encrypted DNS protocolsDNS-Protokolle DNS-over-HTTPS (DoH) andund DNS-over-TLS (DoT), ifwenn youdu enablesie them.aktivierst. (Virtualization Howto)

  • DNSDNS-Dienste: services: portPort 53 (UDP/TCP), DoH, DoT
  • DoDie notAdmin-Web-Oberfläche exposevon AdGuard Home’sHome adminniemals webdirekt auf Port 80/443 exponieren
    → NPM soll die Ports 80/443 exklusiv besitzen, damit der gesamte Web-Traffic zentralisiert wird

2) AdGuard Home Admin-UI directlyauf oneinen anderen Port legen

Standardmäßig bindet AdGuard Home seine Web-Oberfläche auf Ports wie 80/3000 oder benutzerdefiniert – das kollidiert mit NPM.
→ AdGuard Home Web-Interface auf einen Port außerhalb von 80/443 → NPM should own ports 80/443 so web traffic is centralized


2) Run AdGuard Home Admin UI on a different port

By default AdGuard Home binds its web UI on ports like 80/3000/any custom — this can conflict with NPM. Run AdGuard Home’s web interface on a port other than 80/443betreiben (e.g.,z. B. 8080, 3000, 8443). (Reddit)

LaterSpäter leitet NPM willdiesen proxyinternen thatPort internalweiter, portsodass sodu externalextern accesssauber canüber beeine viaschöne aDomain friendlymit domain,HTTPS withzugreifen clean HTTPS.kannst.


3) UseLokale Hostnamen über DNS-Rewrites in AdGuard Home’s DNS rewrites for local hostnamesHome

InsteadStatt of wildcard Wildcard-DNS (whichdas can causebei SSL andund serviceRouting routingzu ambiguity),Unklarheiten explicitlyführen configurekann) localexplizit DNSlokale entriesDNS-Einträge insidein AdGuard Home:Home konfigurieren:

myservice.lab.zn80.net → 192.168.10.105
pihole.adguard.lab.zn80.net   → 192.168.10.105

TheseDiese rewritesRewrites areentsprechen equivalentden toA-Records bei Pi-hole’shole Aund recordssagen andden tellClients clientsgenau, exactlywohin wheredie toAnfragen sendgehen requestssollen without relyingohne on wildcard responses.Wildcard-Unschärfe. (AdGuard Home supportsnutzt rewrites but not exactly the same UI as Pi-hole — you usedafür DNS Rewrite Rules. – die Oberfläche ist etwas anders als bei Pi-hole.) (Chris Kirby)


4) Let NPM handlefür HTTP/HTTPS andund certificatesZertifikate verantwortlich machen

AllDer externalgesamte webexterne access,Web-Zugriff including(Admin-Panels admin+ panelsDienste) andläuft service frontends, should go throughüber NPM:

ForFür eachjeden service:Dienst:

PublicÖffentliche URL NPM Proxy Host configKonfiguration InternalInterne AddressAdresse
https://adguard.lab.zn80.net Proxy tozum internalinternen AdGuard Home admin portAdmin-Port (e.g.,z. B. 8080) e.g.,z. B. 192.168.10.105:8080
https://grafana.lab.zn80.net Proxy tozu Grafana e.g.,z. B. 192.168.10.110:3000
etc.usw.

ThisDas achieves:bringt:

  • SingleEinen entryeinzigen pointEinstiegspunkt forfür allalle web UIsWeb-Oberflächen
  • CentralizedZentrale SSL certificate generationSSL-Zertifikatsverwaltung & renewal-Erneuerung (Let’s Encrypt)
  • CleanSaubere internalinterne service structureDienststruktur

🔧 Step-by-Step SetupSchritt-für-Schritt-Einrichtung

A) Configure AdGuard Home DNS konfigurieren

  1. Install and run AdGuard Home onauf yourdeinem homelabHomelab-Host host.installieren und starten. (adguard.com)

  2. In

    Inden AdGuard Home settings:

    Einstellungen:
    • Enable normalNormales DNS onauf Port 53 aktivieren
    • Optionally enableOptional DoH/DoT ifaktivieren, youwenn wantdu encryptedverschlüsselte resolutionAuflösung möchtest
    • SetTrusted trustedProxies proxiessetzen, iffalls using a reverse proxy fordu DoH über Reverse Proxy nutzt (advanced)fortgeschritten) (GitHub)
  3. Create DNS rewritesRewrites forfür yourdeine internalinternen servicesDienste anlegenlocallokale hostnamesHostnamen mapzeigen toauf NPMdie NPM-IP.

Clients onim yourNetzwerk network should usesollten AdGuard Home asals theirDNS-Server DNS servernutzen (viaper DHCP oroder router config)Router-Einstellung). ThisSo ensureslösen theysie resolveinterne internalDomains domainsauf, beforebevor goingsie upstream.upstream gehen.


B) Change AdGuard Home AdminAdmin-UI-Port UI Portändern

AdGuard Home letserlaubt youdie configureKonfiguration itsdes HTTPHTTP-Admin-Ports admin port — do notnicht leave it onauf 80/443 ifbelassen, wenn NPM isdiese goingPorts toübernimmt. manageHäufig those. It’s common to use something like:genutzt:

192.168.10.105:8080

(NPM willleitet proxydas thisspäter later.weiter.)


C) Configure Nginx Proxy Manager (NPM) konfigurieren

C.1 – Proxy Host RulesRegeln

ForFür eachjeden service/webDienst UI/ youjede wantWeb-Oberfläche, externallydie reachable:extern erreichbar sein soll:

  1. Create aNeuen Proxy Host in NPM anlegen
  2. Domain: e.g.,z. B. adguard.lab.zn80.net
  3. Forward hostname:Hostname / IP: 192.168.10.105
  4. Forward port:Port: yourdein AdGuard Home admin UI portAdmin-Port (e.g.,z. B. 8080)
  5. EnableSSL SSLaktivierenrequest/renew certificateZertifikat via Let’s Encrypt anfordern/erneuern

RepeatDas forfür allalle otherweiteren servicesDienste wiederholen (Home Assistant, Jellyfin,Jellyfin etc.usw.).

NPM willlauscht listenexklusiv on portsauf 80/443 exclusivelyund and terminateterminiert HTTPS.


D) AvoidDNS-Port Proxyingniemals proxyn

Port 53 niemals über NPM leiten – DNS Portist

Dokein notHTTP-Dienst proxyund portmuss 53direkt througherreichbar NPM — DNS is not an HTTP service and must stay direct.bleiben.


E) SSL CertificatesSSL-Zertifikate

  • Für

    Usealle öffentlich erreichbaren Subdomains Let’s Encrypt throughüber NPM for all publicly reachable subdomains.

    nutzen.
  • Bei

    Ifrein youinternen want internal-only namesNamen (e.g.,z. B. .lab.zn80.net), withbei valid TLS anddenen Let’s Encrypt fails:

    scheitert:
    • EitherEntweder useDNS-Challenge a DNS challengeverwenden
    • OrOder use a local/internallokale/interne CA trustednutzen, bydie yourauf clientsden Clients vertraut wird
  • Zertifikate

    Certificatesmüssen mustexakt matchzum theim hostnameBrowser usedverwendeten inHostnamen thepassen browser(sonst to avoid security warnings.

    Sicherheitswarnungen).

🧠 WhyWarum Thisdas Isdie thebeste BestLösung Setupist

DNSDNS-Funktionen featuresbleiben remainmächtig powerfulund and flexibleflexibel

AdGuard Home can serve DNS, including local rewrites, redirection, and encryptedkann DNS protocolsinkl. lokaler allRewrites, withoutUmleitungen conflictingund withverschlüsselter yourProtokolle web(DoH/DoT) reversebereitstellen proxy.– ohne Konflikt mit dem Web-Reverse-Proxy. (Virtualization Howto)

✅ NPM becomeswird thedie singleeinzige sourcesichere for secure web accessWeb-Zugangsstelle

AllAlle internalinternen UIsOberflächen andund appsApps aresind accessibleüber through friendlyschöne URLs withmit properkorrekten certificates.Zertifikaten erreichbar.

SeparationKlare of concernsAufgabentrennung

  • DNS:DNS → AdGuard Home
  • HTTP/HTTPS:HTTPS → NPM This simplifies maintenance and improves security and debugging.

Das vereinfacht Wartung, erhöht Sicherheit und erleichtert die Fehlersuche.


🧩 AdditionalZusätzliche NotesHinweise

DNS over HTTPS (DoH) / DNS over TLS (DoT)

IfWenn youdu enable thesediese in AdGuard Home andaktivierst wantund clientsClients tosie usenutzen them,sollen, theylaufen aresie handledunabhängig independently ofvon NPM. NPM can proxykann HTTP-relatedbasierte adminAdmin-Oberflächen UIs,proxyen, butaber encryptedverschlüsselte DNSDNS-Pfade pathssind arekein notklassisches HTTP in thedu samesolltest senseDoH-Endpunkte nur youbewusst won’texponieren, reverse-proxywenn themdu unlessdas youwirklich deliberately expose DoH endpoints.willst.

Trusted reverse proxy headersReverse-Proxy-Header

IfWenn you proxydu AdGuard Home throughüber NPM andproxy useund featuresFunktionen tiednutzt, todie clientechte Client-IPs brauchen (e.g.z. B. Logging), loggingdann real client IPs), consider enabling forwarding headers (X-Real-IP, etc.)& andCo. configuringweiterleiten trustedund proxies.Trusted Proxies in AdGuard Home konfigurieren. (GitHub)

Local

Lokale DNS resolutionDNS-Auflösung in NPM

SomeManche setupsSetups report(besonders issuesContainer) whenhaben Probleme, wenn NPM resolvesselbst locallokale DNS fromvon AdGuard Home inauflösen certainsoll container environmentsstelle sicher, makedass sureContainer containersdeinen canDNS-Server reacherreichen youroder DNSkonfiguriere serverFallback-Resolver. or configure fallback resolvers.(forums.truenas.com)


📌 FinalFinale Architectureempfohlene (Recommended)Architektur

[Router DHCP] → gives clients DNS ofvergibt AdGuard Home als DNS an Clients
[Client]
   |
   +-- DNSDNS-Anfrage query toan AdGuard Home --> resolveslöst locallokale servicesDienste auf
   |
   +-- HTTP(S)-Anfrage request toan NPM (80/443) -->
        |
        +-- Reverse proxyProxy tozu internalinternen servicesDiensten (AdGuard UI, apps)Apps)

ThisDieses patternMuster keepshält DNSdie resolutionDNS-Auflösung stablestabil andund web/HTTPSdie handlingWeb-/HTTPS-Verwaltung secure,sicher, centralized,zentralisiert andund scalableskalierbar, aswährend yourdeine servicesDienste grow.wachsen.


If you want, I can provide a concrete example NPM proxy configuration for AdGuard Home (with headers and SSL settings) along with how to handle DoH/DoT clients on Android or browsers — just let me know your priorities.