https://github.com/csharper63/pihole_dnscrypt_config
This repository contains a working docker configuration for pihole and dnscrypt that support DoH.
https://github.com/csharper63/pihole_dnscrypt_config
dns-over-https dnscrypt pihole pihole-dnscrypt pihole-over-doh pihole-over-https privacy security
Last synced: about 2 months ago
JSON representation
This repository contains a working docker configuration for pihole and dnscrypt that support DoH.
- Host: GitHub
- URL: https://github.com/csharper63/pihole_dnscrypt_config
- Owner: CSharper63
- Created: 2024-09-05T17:05:16.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-02-23T11:52:45.000Z (3 months ago)
- Last Synced: 2025-03-27T13:48:20.238Z (2 months ago)
- Topics: dns-over-https, dnscrypt, pihole, pihole-dnscrypt, pihole-over-doh, pihole-over-https, privacy, security
- Homepage:
- Size: 24.4 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Docker PiHole + DNSCrypt
This repository contains a working docker configuration for pihole and dnscrypt that support DoH.
## How to setup
First of all, you need a raspberry pi. Set a static ip on it and connect it to your router.
- Set in your router the raspberry ip address as DNS ip.
- Install [docker](https://docs.docker.com/engine/install/raspberry-pi-os/).
- Install portainer to get a cool UI of your dockers status (optional):
```bash
sudo docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
```
- Create a new directory ```config_pihole``` on your home folder (pi by default ```~```) and get in.
- Pull this repo.
- Change network details and pihole password in ```.env``` if needed.
> The ```.env``` file contains the ip addresses of containers in docker. You should not modify it if not specially needed.
- Run this:
```bash
sudo docker compose up -d
```
- It should work :).## ```.env``` file explanation
These 4 fields should not be modified if you don't have specific configuration:
- ```SUBNET```: arbitrary subnet for Pihole and DNSCrypt.
- ```GATEWAY```: gateway of your ```SUBNET```.
- ```DNSCRYPT_IP```: ip from ```SUBNET``` assigned to DNSCrypt docker.
- ```PIHOLE_IP```: ip from ```SUBNET``` assigned to Pihole docker.- ```RASPBERRY_IP```: real ip of your raspberry in your physical network. This setting is used in docker config of your pihole to match UI portal ip with the physical raspberry ip to avoid 403 error.
- ```PIHOLE_PASSWORD```: password of pihole portal.## Advanced settings
You can modify as your own the dnscrypt settings in ```dnscrypt/dnscrypt-proxy.toml```.
By default it use mullvad DoH as DNS provider and listen in docker with port 5053.## Pihole blocklists
You can check the ```blocklists.txt``` file that contains some cool blocklists from the web.