Installazione e Configurazione Base di AdGuard Home su Ubuntu Server 26.04 con Docker Compose

di Raffaele Chiatto | Set 17, 2026 | 0 commenti

Installazione e Configurazione Base di AdGuard Home su Ubuntu Server 26.04 con Docker Compose - Raffaele Chiatto

 

AdGuard Home è un DNS sinkhole self-hosted che blocca pubblicità, tracker e domini malevoli a livello di rete, prima ancora che raggiungano i tuoi dispositivi.

A differenza di un semplice ad-blocker installato nel browser, funziona come server DNS per l’intera rete domestica o aziendale: ogni dispositivo che lo interroga (computer, smartphone, smart TV, console, IoT) beneficia automaticamente della protezione, senza bisogno di installare estensioni o app su ciascun device.

Questa guida spiega come installare e configurare AdGuard Home su Ubuntu Server 26.04 utilizzando Docker Compose, un approccio che semplifica notevolmente la gestione del servizio: l’applicazione gira in un container isolato, con configurazione e dati persistiti su volumi dedicati, aggiornamenti puliti tramite semplice pull dell’immagine e rollback rapido in caso di problemi, senza dover intervenire manualmente sul sistema operativo host.

Nella pratica vedremo come preparare l’ambiente Docker sul server, definire il file docker-compose.yml con le porte e i volumi necessari, avviare il container e completare la configurazione iniziale tramite l’interfaccia web di AdGuard Home impostando il DNS upstream, le liste di blocco (blocklist) e puntando i dispositivi della rete verso il nuovo server DNS.

Al termine avrai un servizio DNS filtrante, centralizzato e facilmente mantenibile, pronto per essere esteso in un secondo momento con funzionalità più avanzate come il filtraggio DNS-over-HTTPS/TLS o regole personalizzate.

PREREQUISITI

  • Un’istanza Ubuntu Server 26.04 aggiornata
  • Docker Engine e plugin Docker Compose installati
  • Accesso root o utente con permessi sudo
  • Porta 53 (DNS) libera sull’host

 

INSTALLAZIONE DI DOCKER

Se Docker non è presente installarlo con i seguenti comandi:

 

 

CREAZIONE STRUTTURA DI CARTELLE

Creare la struttura delle cartelle con i comandi:

Di seguito le cartelle che verranno create:

work/: conterrà dati, log e query log

conf/: conterrà il file di configurazione AdGuardHome.yaml

 

LIBERARE LA PORTA 53 DA SYSTEMD-RESOLVED

Su Ubuntu systemd-resolved occupa di default la porta 53 in ascolto su 127.0.0.53, in conflitto con AdGuard Home.

Va disabilitato lo stub listener editando il file resolved.conf con il comando:

Modificare o aggiungere le seguenti righe:

Salvare e chiudere il file di configurazione

Poi eseguire i comandi:

Verificare che la porta sia libera con il comando:

Non deve restituire nulla legato a systemd-resolved.

CREAZIONE DEL FILE DOCKER-COMPOSE.YML

Creare il file docker-compose.yml con il comando:

All’interno del file inserire il seguente output:

Salvare e chiudere il file di configurazione

 

AVVIO DEL CONTAINER

Avviare il container con i seguenti comandi:

Dovremmo visualizzare il seguente output:

Eseguire un controllo rapido con il comando:

Dovremmo visualizzare il seguente output:

 

 

SETUP WIZARD INIZIALE

Aprire il browser su:

http://<IP-DEL-SERVER>:3000

Installazione e Configurazione Base di AdGuard Home su Ubuntu Server 26.04 con Docker Compose - Raffaele Chiatto

Cliccare Inizia

Installazione e Configurazione Base di AdGuard Home su Ubuntu Server 26.04 con Docker Compose - Raffaele Chiatto

Il wizard chiede:

Interfaccia web: porta consigliata 80 (o altra se già in uso, es. se hai Nginx Proxy Manager su quella macchina)
Interfaccia DNS: selezionare l’IP dell’host porta 53

Cliccare Prossimo

Installazione e Configurazione Base di AdGuard Home su Ubuntu Server 26.04 con Docker Compose - Raffaele Chiatto

Inserire l’utenza amministrativa con relativa password quindi cliccare Prossimo

Installazione e Configurazione Base di AdGuard Home su Ubuntu Server 26.04 con Docker Compose - Raffaele Chiatto

Affinché AdGuard Home inizi a funzionare, è necessario configurare i dispositivi per utilizzarlo.

ATTENZIONE: Questa configurazione copre automaticamente tutti i dispositivi collegati al router di casa, non è necessario configurarli manualmente.

Accedi alle preferenze del tuo router. Di solito, puoi farlo dal tuo browser tramite un URL, come http://192.168.0.1/ o http://192.168.1.1/.

Potrebbe esserti chiesto di inserire una password. Se non dovessi ricordarla, puoi reimpostare la password premendo un pulsante presente sullo stesso router, ma tieni presente che scegliendo questa procedura, probabilmente perderai l’intera configurazione del router.

Se il tuo router necessitasse di un’app per configurarlo, installala sul tuo telefono o PC e utilizzala per accedere alle impostazioni del router.

Trova le impostazioni DHCP / DNS. Cerca le lettere DNS accanto a un campo che consente due o tre serie di numeri, ciascuno suddiviso in quattro gruppi di 1-3 cifre.

Inserisci qui gli indirizzi del tuo server AdGuard Home.

Su alcuni tipi di router, non è possibile configurare un server DNS personalizzato. In tal caso, configurare AdGuard Home come un server DHCP potrebbe aiutare.

In alternativa, dovresti leggere il manuale di istruzioni per capire come personalizzare i server DNS sul tuo specifico modello di router.

Cliccare Prossimo

Installazione e Configurazione Base di AdGuard Home su Ubuntu Server 26.04 con Docker Compose - Raffaele Chiatto

Al termine del wizard cliccare su Apri pannello di controllo

Installazione e Configurazione Base di AdGuard Home su Ubuntu Server 26.04 con Docker Compose - Raffaele Chiatto

Verrà aperto il link http://<IP-DEL-SERVER>

Inserire le credenziali create in precedenza e cliccare Accedi

Installazione e Configurazione Base di AdGuard Home su Ubuntu Server 26.04 con Docker Compose - Raffaele Chiatto

Se è andato tutto a buon fine dovremmo visualizzare la Dashboard di AdGuard

 

CONFIGURAZIONE DEI CLIENT NELLA RETE

Per far usare AdGuard Home come DNS a tutti i dispositivi, la via più efficiente è impostarlo come DNS server sul router/gateway (DHCP), così ogni client lo riceve automaticamente.

In alternativa può essere configurato manualmente client per client.

 

CONFIGURAZIONE FILTRI DNS E UPSTREAM

Dal pannello di controllo le sezioni consigliate:

Filters → DNS blocklists: aggiungi liste come AdGuard DNS filter, EasyList, OISD

Settings → DNS settings → Upstream DNS servers: consigliato usare provider con DoH/DoT, es. Cloudflare (https://cloudflare-dns.com/dns-query) o Quad9

Settings → DNS settings → Parental control (opzionale)

Query Log: utile per verificare cosa viene bloccato e diagnosticare falsi positivi

 

REVERSE PROXY HTTPS (OPZIONALE)

Se il pannello deve essere raggiungibile dall’esterno o con certificato valido, meglio metterlo dietro un reverse proxy (es. Nginx Proxy Manager) piuttosto che esporre direttamente la porta 80/443 del container:

adguard.tuodominio.tld → http://<IP-host>:80

Ricorda di non esporre pubblicamente la porta DNS (53) se non necessario.

AGGIORNAMENTO DEL CONTAINER

Eseguire l’aggiornamento del container con i seguenti comandi:

 

 

PRO E CONTRO

Pro

  • Blocco pubblicità e tracker a livello di rete, per tutti i dispositivi
  • Supporto nativo a DoH/DoT/DoQ per DNS cifrato
  • Pannello web chiaro, query log dettagliato
  • Leggero, gira bene anche su hardware modesto (es. Raspberry Pi)
  • Parental control e regole personalizzate integrate

Contro

  • Richiede di liberare la porta 53, che su Ubuntu significa disabilitare lo stub di systemd-resolved
  • Punto singolo di fallimento per la risoluzione DNS: se il container si ferma, senza DNS di fallback configurato sul router la rete perde la risoluzione nomi
  • Non ha clustering/HA nativo: per ridondanza vera serve una seconda istanza e configurazione manuale sui client/DHCP

 

CONCLUSIONI

Con questa configurazione hai un servizio DNS filtrante centralizzato, gestibile e aggiornabile in due comandi.

Per un homelab, il passo successivo naturale è mettere in piedi una seconda istanza su un altro host per avere un DNS di backup, così da evitare che un riavvio o un aggiornamento del container lasci la rete senza risoluzione DNS.

Articoli Recenti

Veeam Backup

Monitoring

Friends

  • My English Lab  English School
  • ChrSystem   Servizi ICT
  • Since 01  Kreative Graphics

Database

Networking

Autori

  • Raffaele Chiatto  Amministratore
  • Marco Valle  Autore
  • Angelo Lauria  Autore
  • Edoardo Prot  Autore
  • Davide D'Urso  Autore
Raffaele Chiatto

Raffaele Chiatto

Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.

Categorie: AdGuard | Ubuntu

Related Post

0 Commenti

Invia Un Commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione