6.1 KiB
6.1 KiB
Pi-hole + DNSCrypt
Descrizione
Pi-hole + DNSCrypt è un mix tra un adblock di rete e un caching proxy DNS:
- Interfaccia web semplice per una semplice gestione
- Pieno supporto alle blacklist e alle whitelist
- Pieno supporto ai seguenti protocolli DNSCrypt v2, DNS-over-HTTPS, Anonymized DNSCrypt e ODoH (Oblivious DoH)
Struttura file e cartelle
/home/
└── docker/
└── pihole+dnscrypt/
├── dnscrypt/
├── dnsmasq.d/
├── pihole/
├── .env
└── docker-compose.yml
dnscrypt/
- cartella dove risiedono i dati che servono a dnscryptdnsmasq.d/
- cartella dove risiedono i dati che servono a dnsmasq.dpihole/
- cartella dove risiedono i dati che servono a pihole.env
- file contenenti le variabili environment per il docker-composedocker-compose.yml
- file usato per creare il container
N.B. Tutti i file e le cartelle devono essere creati a mano
Esempi
Semplice esempio per iniziare ad usare subito il container
network
docker
docker network create custom-bridge
podman
podman network create custom-bridge
docker-compose
docker-compose.yml
version: "3"
services:
dnscrypt:
container_name: dnscrypt-proxy
image: klutchell/dnscrypt-proxy
security_opt:
- no-new-privileges:true
networks:
custom-bridge:
ipv4_address: 10.0.1.2
expose:
- 5053/udp
- 5053/tcp
env_file: .env
volumes:
- ${DNSCRYPT_CONFIG:-/home/docker/pihole+dnscrypt/dnscrypt}:/config
dns:
- 185.222.222.222 # https://dns.sb/privacy/
- 45.11.11.11
restart: unless-stopped
pihole:
container_name: pihole
image: pihole/pihole
security_opt:
- no-new-privileges:true
networks:
custom-bridge:
ipv4_address: 10.0.1.3
ports:
- ${PIHOLE_DNS_PORT:-53}:53/tcp
- ${PIHOLE_DNS_PORT:-53}:53/udp
- ${PIHOLE_DHCP_PORT:-67}:67/udp
- ${PIHOLE_WEBUI_PORT:-80}:80/tcp
env_file: .env
volumes:
- ${PIHOLE_CONFIG:-/home/docker/pihole+dnscrypt/pihole}:/etc/pihole/
- ${PIHOLE_DNSMASQD:-/home/docker/pihole+dnscrypt/dnsmasq.d}:/etc/dnsmasq.d/
dns:
- 185.222.222.222 # https://dns.sb/privacy
- 45.11.11.11
cap_add:
- NET_ADMIN
restart: unless-stopped
depends_on:
- dnscrypt
networks:
custom-bridge:
name: custom-bridge
driver: bridge
ipam:
config:
- subnet: 10.0.1.0/24
.env
# Generale
PIHOLE_DNS_PORT=53
PIHOLE_DHCP_PORT=67
PIHOLE_WEBUI_PORT=80
DNSCRYPT_CONFIG=/home/docker/pihole+dnscrypt/dnscrypt
PIHOLE_CONFIG=/home/docker/pihole+dnscrypt/pihole
PIHOLE_DNSMASQD=/home/docker/pihole+dnscrypt/dnsmasq.d
TZ=Europe/Amdsterdam
# Pi-hole
WEBPASSWORD=cambiamiperfavore
DNS1: "10.0.1.2#5053"
DNS2: "no"
Reverse proxy
Vedi Todo
Aggiornamento
Automatico
Usando watchtower il container si aggiorna automaticamente
Manuale
docker-compose up -d
docker image prune
Backup e ripristino
Backup
Usate borg per fare i backup giornalieri dell'intera cartella pihole+dnscrypt
Ripristino
Per una maggiore spiegazione sui passaggi da fare, controllate qua
- fermare il container
docker-compose down
- cancellare l'intera cartella
pihole+dnscrypt
- dal backup copiare la cartella
pihole+dnscrypt
- far ripartire il container
docker-compose up -d
Todo
Implementare:
Licenza: CC BY-SA 4.0