1
0
Fork 0
mirror of https://github.com/sujiba/pihole-unbound-hyperlocal.git synced 2025-07-09 21:35:13 +02:00
docker pull sujiba/pihole-unbound-hyperlocal
Find a file
2025-03-31 14:43:52 +00:00
.github/workflows renamed docker-compose.yml, fixed typos 2025-03-23 01:42:05 +00:00
docker-build chore: update to docker-pihole 2025.03.1 2025-03-31 14:43:52 +00:00
.gitignore migrate to pi-hole v6 and alpine container image 2025-03-22 11:30:15 +00:00
docker-compose.yml renamed docker-compose.yml, fixed typos 2025-03-23 01:42:05 +00:00
example.pihole.env Update example.pihole.env 2025-03-23 01:58:33 +01:00
README.md fix: typo 2025-03-23 01:42:05 +00:00

Pihole + Unbound + Hyperlocal

Note

IMPORTANT: When using this Docker image, please report any bugs or suggestions to this repository directly.

Upgrade Notes

Caution

!!! THE LATEST VERSION CONTAINS BREAKING CHANGES

Pi-hole v6 has been entirely redesigned from the ground up and contains many breaking changes.

Read https://github.com/pi-hole/docker-pi-hole

Tip

Firstly pull the new image with docker pull ghcr.io/sujiba/pihole-unbound-hyperlocal:latest. Next stop the old container with docker compose down. Follow the steps described under First startup. For the upgrade transition you're going to have two folders

  • old: pihole-unbound-hyperlocal
  • new: pihole-unbound-hyperlocal-v6

You can delete the old folder if everything is up and running.

Overview

Acknowledgement

Introduction

Pi-hole:

  • Pi-hole is a DNS sinkhole that protects your devices from unwanted content, without installing any client-side software.

Unbound:

  • Unbound is a validating, recursive, caching DNS resolver. It is designed to be fast and lean and incorporates modern features based on open standards.

Hyperlocal:

  • To spare the initial DNS query to the DNS-Root-Servers by Unbound, we provide Unbound with an appropriate configuration. With each Pi-hole update, the DNS-Root-Zone (root.hints) is also updated.

Prerequisites

First startup

Clone the repository to your favored location and change the config.

git clone -b main https://github.com/sujiba/pihole-unbound-hyperlocal.git pihole-unbound-hyperlocal-v6

# Change the timezone, password and other pi-hole settings
cp example.pihole.env pihole.env
vi pihole.env

# Change the ports if you're running a reverse proxy on ports 80 and 443
vi docker-compose.yml

Start the container

docker compose up -d

Check the logs

docker compose logs -f

Testing

docker compose exec -it pihole-unbound sh
dig github.com @127.0.0.1 +short
dig sigfail.verteiltesysteme.net @127.0.0.1 | grep status 
dig sigok.verteiltesysteme.net @127.0.0.1 | grep status
  • First dig should show an IP address
  • Second dig should show status: SERVFAIL
  • Last dig should show status: NOERROR

DNS problems

If you are running other docker containers on the same host and cannot use name resolution within these containers, you have to modify /etc/resolvconf.conf on your host system and uncomment the following:

# If you run a local name server, you should uncomment the below line and
# configure your subscribers configuration files below.
name_servers=127.0.0.1

Write the changes to your resolv.conf:

sudo resolvconf -u

See also StackExchange

Blocklists