![]() |
VOOZH | about |
Unbound DNS Cache Server with Auto Updating AD Block Hosts
10K+
Note: This unbound image tag follows the unbound version in alpine. New tag is released as soon as new version of unbound is released for alpine.
docker run -itd --name unbound \
-p 53:53/tcp \
-p 53:53/udp \
satishweb/unbound
services:
unbound:
image: satishweb/unbound
hostname: unbound
networks:
- default
environment:
DEBUG: "0"
# DOMAIN_WHITELIST: "domain1.com domain2.com subdomain.domain3.com"
SOURCE_StevenBlack_Unified_Hosts: "true"
SOURCE_StevenBlack_Fakenews: "true"
SOURCE_StevenBlack_Gambling: "true"
SOURCE_StevenBlack_Porn: "true"
SOURCE_TheGreatWall_Default: "true"
SOURCE_AdWars_Default: "true"
SOURCE_VeleSila_Default: "true"
SOURCE_Tiuxo_Default: "true"
volumes:
# - ./unbound.conf:/etc/unbound/unbound.conf # For custom config
# Mount app-config script with your customizations
# - ./app-config:/app-config
deploy:
replicas: 1
# placement:
# constraints:
# - node.labels.type == worker
labels:
- "com.satishweb.description=Unbound DNS Cache Service"
wget https://github.com/satishweb/docker-doh/archive/v2.3.3.zip
unzip v2.2.3.zip
cp -rf docker-doh-2.2.3/examples/docker-swarm-doh-server doh-server
rm -rf v2.2.3.zip docker-doh-2.2.3
cd doh-server
Note: This is to be done only if you intend to automatically setup SSL certificate using AWS DNS Hosting
DOMAIN_1
CERTBOT_EMAIL
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_REGION
AWS_HOSTED_ZONE_ID
Note: You need your SSL certificate, CA Certificates and Private Key to complete below SSL configuration. You may use letsencrypt to generate a free certificate.
mkdir -p data/proxy/certs
# Generate Certificate Chain using below command
cat your-ssl-certicate.pem your-ca-certificate.pem your-private-key.pem > data/proxy/certs/YOURDOMAIN.COM.combined.pem
Note: This is optional unless you have certain DNS records that needs to be resolved/overridden locally.
mkdir -p data/unbound
vi data/unbound/custom.hosts
data/unbound/custom.hostslocal-zone: "SUB1.YOURDOMAIN.COM" redirect
local-data: "SUB1.YOURDOMAIN.COM A 192.168.0.100"
local-zone: "SUB2.YOURDOMAIN.COM" redirect
local-data: "SUB2.YOURDOMAIN.COM A 192.168.0.101"
./launch.sh unbound cert-manager proxy swarm-listener doh-server
./launch.sh unbound proxy swarm-listener doh-server
Note: This will remove services but does not delete data
./remove.sh
Note: Check if all services are launched successfully
docker service ls
docker service logs -f dns_unbound
Note: This is your server DNS name that you set up
https://dns.YOURDOMAIN.COM/getnsrecord
Note: This will make all your client systems/phones connected to your router use this your DNS server. Note: This will not make clients use DOH but it will end up using unbound private DNS service that protects you from ISP.
https://developers.cloudflare.com/argo-tunnel/downloads/
proxy-dns: true
proxy-dns-upstream:
- https://dns.YOURDOMAIN.COM/getnsrecord
Note: You will need to ensure dnsmasq is uninstalled from your client system before using cloudflared
https://play.google.com/store/apps/details?id=app.intra&hl=en_US
Infra App -> Settings -> Select DNS over HTTPS Server -> Custom server URL
Value: https://dns.YOURDOMAIN.COM/getnsrecord
docker build . --no-cache -t satishweb/unbound
docker pull satishweb/unbound
Content type
Image
Digest
sha256:ec9d173a3…
Size
32.3 MB
Last updated
about 3 years ago
docker pull satishweb/unbound