> ## Content Index
> Fetch the complete content index at: https://blog.firenetwork.it/llms.txt
> Use this file to discover other available public pages before exploring further.

# Sincronizzare più istanze di AdGuard Home
- URL: https://blog.firenetwork.it/sincronizzare-piu-istanze-di-adguard-home/
- Published: 2025-06-08T22:51:44.000Z
- Updated: 2025-06-19T20:32:33.000Z
- Description: AdGuard Home è un software fantastico, ma la macchina che lo ospita può non essere infallibile. In questo articolo vedremo come rendere più resistente la nostra infrastruttura creando più istanze di AdGuard.
- Author: Samuele Gabbrielli
- Tags: Guide, DNS, #Import 2026-03-12 20:23

Non hai ancora installato AdGuard Home?  
Non ti preoccupare, ho scritto un articolo intero su come fare!

[Vai all'articolo ](https://blog.firenetwork.it/adguard-home-un-adblocker-per-tutta-la-rete/) 

## Introduzione

**AdGuard Home** è un software fantastico, ma la macchina che lo ospita può non essere infallibile.

In caso di guasto della macchina, perdere le funzionalità di risoluzioni dei nomi a livello di rete è un vero e proprio disastro! E buona fortuna a cercare su Google come riparare un sistema operativo rotto... non potrete risolvere nemmeno il nome di Google.com se non navigando da smartphone.

Per rendere più affidabile AdGuard possiamo prevedere dei meccanismi di sicurezza:

- [Creare un Load Balancer per DNS con NGINX](https://blog.firenetwork.it/nginx-creare-un-load-balancer-per-server-dns-2/), in modo da usare il Gateway come server DNS se AdGuard si rompe.
- Creare più istanze di AdGuard, sincronizzate tra loro, e renderle entrambe server DNS a livello di rete.

Oppure, ancora meglio, possiamo fare entrambe le cose!

Prima di tutto, creeremo due instanze di AdGuard Home e le metteremo in sincronizzazione tra di loro.  
In seguito, creeremo un Load Balancing DNS tramite NGINX in modo da poterle usare entrambe con distribuzione del carico.

---

## Installazione

Il software [adguardhome-sync](https://github.com/bakito/adguardhome-sync?ref=blog.firenetwork.it) creato dall'utente GitHub [*bakito*](https://github.com/bakito?ref=blog.firenetwork.it) permette di designare un server AdGuard Home come principale, e di replicare le sue configurazioni periodicamente su altri server AdGuard.

Nel dettaglio, adguardhome-sync ci permetterà di sincronizzare:

- Impostazioni generali
- Filtri
- Riscritture DNS
- Servizi bloccati
- Client censiti
- Configurazioni DNS
- Configurazioni DHCP
- Temi

❕

Alcuni dei passaggi di seguito illustrati sono tratti direttamente dal readme presente sulla [repository GitHub del progetto](https://github.com/bakito/adguardhome-sync?ref=blog.firenetwork.it).

### Prerequisiti

Ci sono vari modi possibili per installare adguardhome-sync:

- Tramite un container **Docker**
  - sarà quindi necessario avere una macchina con **Docker**
- Come eseguibile su **Linux** o su **Windows**

Non tratterò in questa guida l'installazione su Windows, in quanto la trovo poco sensata. Sarebbe uno spreco usare una macchina Windows solamente per svolgere questo compito, e non sarebbe ottimale nemmeno farlo svolgere ad una macchina Windows che ha molti altri task da elaborare.

Ad ogni modo, per configurare adguardhome-sync **è necessario che tutte le istanze di AdGuard da gestire siano state installate e che sia stata seguita la procedura di installazione iniziale**.

### Creazione del file di configurazione

Creare una cartella *adguardhome-sync c*on un file *adguardhome-sync.yaml* al suo interno, **sulla macchina Docker** o sulla macchina **Linux**, a seconda della tipologia di installazione scelta. Nei comandi seguenti questa cartella si trova in */home/firenetwork/adguardhome-sync*

Modificare il file *adguardhome-sync.yaml* appena creato seguendo il seguente formato

```
# indicare ogni quanto eseguire la sincronizzazione, usando la sintassi CRON
cron: "0 */2 * * *"

# impostare a true per eseguire una sincronizzazione appena si avvia il container
runOnStart: true

# impostare a true se al verificarsi di un errore il programma deve continuare la sincronizzazione e loggare l'errore
continueOnError: false

origin:
  url: http://192.168.1.2:3000 # url dell'istanza AdGuard da cui copiare i parametri (compresa la porta)
  insecureSkipVerify: false # impostare a true per saltare la verifica TLS
  username: # indicare l'username per autenticarsi su AdGuard
  password: # indicare la password per autenticarsi su AdGuard

replicas:
  # ripetere per ogni istanza di AdGuard che deve ricevere gli aggiornamenti
  - url: http://192.168.0.27 # url dell'istanza AdGuard che deve ricevere gli aggiornamenti
    username: # indicare l'username per autenticarsi su AdGuard
    password: # indicare la password per autenticarsi su AdGuard

# Questa sezione è relativa alla pagina web di gestione del servizio. Se lasciata abilitata, sarà possibile monitorare lo stato della sincronizzazione accedendo tramite browser web all'IP del servizio, con la porta indicata di seguito.
api:
  port: 8080
  # configurando username e password, per accedere alla pagina web sarà necessario autenticarsi
  username: # indicare l'username per autenticarsi sulla pagina di stato
  password: # indicare la password per autenticarsi sulla pagina di stato
  darkMode: true # impostare a false per passare al tema chiaro

# Opzionalmente, disabilitare le parti della configurazione che si desidera non sincronizzare
features:
  generalSettings: true
  queryLogConfig: true
  statsConfig: true
  clientSettings: true
  services: true
  filters: true
  dhcp:
    serverConfig: true
    staticLeases: true
  dns:
    serverConfig: true
    accessLists: true
    rewrites: true
```

💡

Se durante la configurazione guidata di ****AdGuard** è stata indicata una ****porta di management diversa dalla 3000**, indicarla nel file di configurazione.

### Opzione 1: Container Docker

Eseguire il seguente comando *docker run* modificando, opzionalmente, la porta dell'host (quella a sinistra dei due punti) ed indicando il path corretto al file *adguardhome-sync.yaml* creato in precedenza

```
docker run -d \
  --name=adguardhome-sync \
  -p 8080:8080 \
  -v /home/firenetwork/adguardhome-sync/adguardhome-sync.yaml:/config/adguardhome-sync.yaml \
  --restart unless-stopped \
  ghcr.io/bakito/adguardhome-sync:latest
```

In alternativa è possibile usare il seguente file *docker-compose.yml* per creare il container di Docker.

```
---
version: "2.1"
services:
  adguardhome-sync:
    image: ghcr.io/bakito/adguardhome-sync
    container_name: adguardhome-sync
    command: run --config /config/adguardhome-sync.yaml
    volumes:
      - /home/firenetwork/adguardhome-sync/adguardhome-sync.yaml:/config/adguardhome-sync.yaml
    ports:
      - 8080:8080
    restart: unless-stopped
```

### Opzione 2: Installazione su Linux

*(testato con Ubuntu Server 24.04)*

Spostarsi nella cartella adguardhome-sync creata precedentemente (quella dove si è creato il file *adguardhome-sync.yaml*)

```
cd /home/firenetwork/adguardhome-sync
```

Scaricare l'ultima versione di adguardhome-sync (sostituire il link con quello dell'ultima release disponibile nella [pagina delle release](https://github.com/bakito/adguardhome-sync/releases?ref=blog.firenetwork.it))

```
sudo wget https://github.com/bakito/adguardhome-sync/releases/download/v0.7.6/adguardhome-sync_0.7.6_linux_amd64.tar.gz
```

Scompattarlo

```
sudo tar xvf adguardhome-sync_0.7.6_linux_amd64.tar.gz
```

Cancellare il file compresso appena scompattato

```
sudo rm adguardhome-sync_0.7.6_linux_amd64.tar.gz
```

Creare il **file del servizio** di adguardhome-sync (in questo esempio userò systemd)

```
sudo nano /etc/systemd/system/adguardhome-sync.service
```

Compilarlo come segue

```
[Unit]
Description = AdGuardHome Sync
After = network.target

[Service]
ExecStart = /home/firenetwork/adguardhome-sync/adguardhome-sync --config /home/firenetwork/adguardhome-sync/adguardhome-sync.yaml run

[Install]
WantedBy = multi-user.target
```

- cambiare il path di *ExecStart* con il percorso in cui è presente l'eseguibile di adguardhome-sync, scaricato e scompattato nei passaggi precedenti.
- cambiare il path di *\--config* indicando il percorso del file *adguardhome-sync.yaml* creato nel capitolo precedente.

Installare ed avviare il servizio, poi controllarne lo stato

```
sudo systemctl enable adguardhome-sync.service
sudo systemctl start adguardhome-sync.service
sudo systemctl status adguardhome-sync.service
```

## Controllare lo stato della sincronizzazione

Ora che adguardhome-sync è installato, configurato ed avviato, se nel file di configurazione è stata abilitata la sezione *api*, sarà possibile accedere alla **pagina di status** da cui monitorare lo stato della sincronizzazione.

![Schermata principale della pagina di adguardhome-sync](https://blog.firenetwork.it/content/images/2025/06/immagine-5.png)

Schermata principale della pagina di adguardhome-sync

## E ora?

Ora che hai messo in comunicazione insieme più istanze di AdGuard, puoi censirle entrambe come server DNS della tua rete, oppure puoi metterle in load balancing con NGINX... L'idea non ti alletta?

Ora che hai messo in sincronizzaizone più istanze di AdGuard, puoi creare un Load Balancing DNS con NGINX!

[Vai all'articolo ](https://blog.firenetwork.it/nginx-creare-un-load-balancer-per-server-dns-2/) 

---

![](https://blog.firenetwork.it/content/images/2025/06/Written-By-Human-Not-By-AI-Badge-white@2x-4.png)