| #!/bin/bash |
| |
| # https://github.com/pi-hole/docker-pi-hole/blob/master/README.md |
| |
| # Note: ServerIP should be replaced with your external ip. |
| docker run -d \ |
| --name pihole \ |
| -p 53:53/tcp -p 53:53/udp \ |
| -p 80:80 \ |
| -p 443:443 \ |
| -e TZ="America/Chicago" \ |
| -v "$(pwd)/etc-pihole/:/etc/pihole/" \ |
| -v "$(pwd)/etc-dnsmasq.d/:/etc/dnsmasq.d/" \ |
| --restart=unless-stopped \ |
| --hostname pi.hole \ |
| -e VIRTUAL_HOST="pi.hole" \ |
| -e PROXY_LOCATION="pi.hole" \ |
| -e ServerIP="127.0.0.1" \ |
| pihole/pihole:latest |
| |
| # --dns=127.0.0.1 --dns=1.1.1.1 \ |
| |
| printf 'Starting up pihole container ' |
| for i in $(seq 1 20); do |
| if [ "$(docker inspect -f "{{.State.Health.Status}}" pihole)" == "healthy" ] ; then |
| printf ' OK' |
| echo -e "\n$(docker logs pihole 2> /dev/null | grep 'password:') for your pi-hole: https://${IP}/admin/" |
| exit 0 |
| else |
| sleep 3 |
| printf '.' |
| fi |
| |
| if [ $i -eq 20 ] ; then |
| echo -e "\nTimed out waiting for Pi-hole start, consult check your container logs for more info (\`docker logs pihole\`)" |
| exit 1 |
| fi |
| done; |