Pi-hole DNSCrypt Docker
About
A docker-compose for Pi-hole and DNSCrypt, daemonized with a systemd service file.
Uses the following Docker containers:
https://github.com/pi-hole/docker-pi-hole
https://github.com/klutchell/dnscrypt-proxy
Dependencies
docker
docker-compose
Installation
- Clone this repository to a directory of your choice:
git clone https://gitlab.com/losuler/pihole-dnscrypt-docker
- Edit
pihole-dnscrypt-docker.service
to point to the directory of the cloned repository:
WorkingDirectory=/path/to/pihole-dnscrypt-docker
- (Optional) Edit
docker-compose.yml
and uncommentWEBPASSWORD
with a password of your choice:
WEBPASSWORD: 'secure-password'
-
(Optional) Edit
etc-dnscrypt-proxy/dnscrypt-proxy.toml
to your preference. -
Copy the systemd service file:
sudo cp pihole-dnscrypt-docker.service /etc/systemd/system/
- Reload the systemd manager configuration:
sudo systemctl daemon-reload
- Enable the systemd service:
sudo systemctl enable pihole-dnscrypt-docker
- Start the systemd service:
sudo systemctl start pihole-dnscrypt-docker
Updating images
- To update all images used by this docker-compose:
sudo docker-compose pull
- Restart the systemd service:
sudo systemctl restart pihole-dnscrypt-docker
- (Optional) List old/unused images:
sudo docker images -f dangling=true
- (Optional) Remove old/unused images:
sudo docker image prune
Viewing logs
To view the status of the service:
sudo systemctl status pihole-dnscrypt-docker
To view the entire log (append -f
to view a live feed of the logs):
sudo journalctl -u pihole-dnscrypt-docker
Testing
To test the running of the docker-compose before running the service:
sudo docker-compose up --force-recreate