diff --git a/dockerpihole b/dockerpihole new file mode 100644 index 0000000..de25135 --- /dev/null +++ b/dockerpihole @@ -0,0 +1,42 @@ +#!/bin/bash + +# https://github.com/pi-hole/docker-pi-hole/blob/master/README.md + +PIHOLE_BASE="${PIHOLE_BASE:-$(pwd)}" +[[ -d "$PIHOLE_BASE" ]] || mkdir -p "$PIHOLE_BASE" || { echo "Couldn't create storage directory: $PIHOLE_BASE"; exit 1; } + +docker pull pihole/pihole +docker rm -f pihole +# Note: FTLCONF_LOCAL_IPV4 should be replaced with your external ip. +docker run -d \ + --name pihole \ + -p 53:53/tcp -p 53:53/udp \ + -p 80:80 \ + -e TZ="Europe/Madrid" \ + -v "${PIHOLE_BASE}/etc-pihole:/etc/pihole" \ + -v "${PIHOLE_BASE}/etc-dnsmasq.d:/etc/dnsmasq.d" \ + --dns=127.0.0.1 --dns=1.1.1.1 \ + --restart=unless-stopped \ + --hostname pi.hole \ + -e VIRTUAL_HOST="pi.hole" \ + -e PROXY_LOCATION="pi.hole" \ + -e FTLCONF_LOCAL_IPV4="192.168.1.107" \ + --security-opt seccomp=unconfined \ + pihole/pihole:latest + +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: http://${IP}/admin/" + exit 0 + else + sleep 3 + printf '.' + fi + + if [ $i -eq 20 ] ; then + echo -e "\nTimed out waiting for Pi-hole start, consult your container logs for more info (\`docker logs pihole\`)" + exit 1 + fi +done;