Instalar Pihole en Docker

Instalar Pihole y addons en Docker

Pihole en Docker para el filtrado de publicidad en las web visitadas.

Instalación Pihole

Una vez instalado Docker en el sistema, Pihole se puede instalar como un contenedor. Para ello según la página oficial en GitHub solo hace falta ejecutar un script en bash llamado docker_run.sh. cuyo contenido seria:

                
                      ## ------------ inicio script ----------
                      #!/bin/bash

                        # https://github.com/pi-hole/docker-pi-hole/blob/master/README.md

                        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/" \
                            --dns=127.0.0.1 --dns=1.1.1.1 \
                            --restart=unless-stopped \
                            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: 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;
            
                   
            

Tras cambiar la las dns de tu dispositivo a la ip donde se encuentra corriendo Pihole, empieza a trabajar al momento ya que se encuentra pre-configurado. (viene configurado con las DNS de Google por defecto)
Para entrar a la web de Pihole, se debe de entrar en los logs del contenedor para ver la contraseña aleatoria que crea por defecto con el comando:
$ Docker logs pihole

¿Seria interesante, instalar Docker-compose en el servidor para manejar los reinicos de Pihole y poder cambiar la contraseña aleatoria?

Instalación ADDONS para Pihole

Filtrar publicidad de Youtube

Buscando, encontré una web donde comenta el problema, para lo que crea un script, que lo que hace es buscar un patrón en los logs de Pihole, de la publicidad de YouTube dentro de los videos, puesto que estos enlaces a la publicidad, van cambiando con el tiempo.

Para ello hay que descargar de GitHub el script o copiar el contenido a un archivo ejecutable. Al ejecutarlo con la orden: $ sh nombrescript.sh siendo el shebang del archivo #!/bin/bash o #!/usr/bin/bash me daba un error del tipo: syntax error ( unexpected puesto que lo estaba ejecutando con sh (que son para ejecuciones de codigo más livianas) en vez de con el interprete bash.

La solución correcta, como siempre, usar: $ chmod +x nombrescript.sh para añadir permisos de ejecución y luego ejecutar de la forma: $ ./nombrescript.sh o bien con: $ bash ./nombrescript.sh

Documentación utilizada

  • Bibliografía

Entradas populares de este blog

Comprobar estado del software RAID en linux y mdadm

Cambiar idioma por defecto en Devuan (NOT RUN)

Teoria de Bash - Scripting