pihole
diff --git a/apps/pihole/run_docker.sh b/apps/pihole/run_docker.sh
new file mode 100644
index 0000000..de9409a
--- /dev/null
+++ b/apps/pihole/run_docker.sh
@@ -0,0 +1,38 @@
+#!/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;