Esta entrada la escribí para los amigos de #MakersArgentina y #RaspberryPiArgentina a las cuales pertenezco y empujamos con los chicos día a día. La idea es para los que recién empiezan poder trabajar con #Portainer e instalar PiHole sobre docker en RaspberryPi para bloquear contenido y publicidad lo cual va a servir para todos los dispositivos que se encuentren en nuestra red local ya sean Smartphones, SmartTv, pc de escritorio o notebooks (cualquier dispositivo que se conecte como se conecte a nuestro router hogareño).

Primero lo primero: que sorongo es Pihole o Pi-Hole??? (hay dijo sorongo)
Pi-Hole: Su web es https://pi-hole.net/ y es una aplicación que si bien se maneja por una interface web, actúa a nivel de red y su primer objetivo es bloquear toda la actividad de publicidad o anuncio o ads (advertisement), peroooo tiene otras cositas mas como protegernos de malwares, rasomware, entre otros, o sea, podemos decir en castellano que gracias a su interfaces podemos montar un servidor de dns para nuestra red local y mantener la red protegida gracias a una suerte de casi firewall que nos provee pihole (ponele).

Luego de que lo instalemos nos va a mostrar un panel de control asi:

Este dashboard de pi-hole te lo muestro por que recién lo termine de montar sobre mi raspberry, funciona de 10 puedo ver los diarios limpitos de tanta mierda de publicidad que molestan con ventanas emergentes etc etc (sisi por eso en nuestras comunidades no usamos publicidad!! No tenemos publicidad por que no nos gusta)
Como dijimos que lo instalabamos desde #Portainers vamos a tener que ir al menú Containers y vamos a crear uno nuevo desde el botón add container como vemos en la siguiente imagen:

En la imagen anterior pueden ver que ya existe en los contenedores uno denominado pihole (es por que como les dije lo instale hace un rato).

Recuerden/recorda que yo vole todo lo que tenia en mi raspberry y comencé de manera ordenada, si vos tenes los puertos ocupados veras como joraca los acomodas!!
Luego vamos a ir a Volumes:

La idea es resguardar esos archivos por que si se actualiza estamos al horno. Un detalle por si no se dieron cuenta que los botones tienen un azul oscuro y uno claro. Si ven algo distinto es por que deben quedar esos colores como les muestro en la imagen anterior!
Ahora vamos a ir a Networks:

Bien, les cuento que yo puse la red en modo bridge y que la ip que va a tener es cualquiera menos la de la red que tenemos en casa (no se asusten pero es importante saberlo por que yo no lo sabia, me entere después).
Vamos a ir a Env para agregar unas variables que vamos a utilizar:

En dns2 yo puse no por que NO QUIERO.
La idea es la siguiente:
El router de mi casa da dhcp, y todas las maquinas de mi casa se van a conectar a ese router (por wifi o lan) pero el servidor dhcp le va a decir que el DNS es PI-Hole!
Ahora en las politicas o Restart Policy vamos a dejarlo asi:

Al medio de la pantalla un poquito mas arriba de donde estamos ahora hay un botonsito azul muy lindo que dice Deployment o algo asi como dale gas!! Lo apretas y si copiaste tal cual, esperas un ratito y vas a tener tu pihole funcionando. Quiero verlo!!! ¿Como hago para verlo?
Vamos a ir a la ipdenuestraraspberry/admin que como dije en nuestro caso es 192.168.1.2/admin

Vamos a poner la contraseña que seleccionamos arriba donde te dije que acaponerlacontraseña (espero no hayas puesto eso).

Como verán es hermoso!!! y necesitaríamos una entrada mas para ver toda su configuración! Lo que si tene en cuenta que en tu router tenes que poner que el servidor dns (en la entrega de dhcp) sea como dns1 la ipdeturaspberry (para lo cual mapeamos arriba los puertos necesarios).
Una configuración fácil es ir a blacklist:

Les dejo dos links de donde poder sacar las blacklist conocidas:
Consejo:
Cada vez que pongan algo en pi-hole documenten, recuerdenlo, por que por ahi estamos bloqueando algun contenido que no queremos y es simplemente borrarlo o modificarlo en pi-hole.
Si quisieran hacerlo con docker-compose.yml y no con portainer, les dejo el archivo:
version: "3"
# Gracias por Pasar por https://luiszambrana.com.ar
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp"
- "80:80/tcp"
- "443:443/tcp"
environment:
TZ: 'America/Argentina/Buenos_Aires'
WEBPASSWORD: 'PoneActaTuContraseña'
volumes:
- './etc-pihole/:/etc/pihole/'
- './etc-dnsmasq.d/:/etc/dnsmasq.d/'
dns:
- 127.0.0.1
- 1.1.1.1
cap_add:
- NET_ADMIN
restart: unless-stopped
Grande Luis!
Instale sin problemas siguiendo los pasos!