Montá tu propio buscador privado en casa con Docker: Whoogle o SearXNG
En mi infraestructura casera hoy conviven dos buscadores: Whoogle y SearXNG.
No porque uno sea mejor que el otro, sino porque me sirven para búsquedas distintas, según el tipo de información que necesito:
búsquedas directas y rápidas, o una exploración más amplia y comparativa.
Whoogle lo uso cuando quiero resultados al estilo Google, pero sin rastreo, sin JavaScript invasivo y sin cookies.
SearXNG, en cambio, permite buscar en más de 100 fuentes distintas y priorizar resultados locales, por ejemplo de Uruguay, según cómo lo configures.
Ambos corren en mi red, detrás de Nginx Proxy Manager, con HTTPS automático vía DuckDNS + Let’s Encrypt, y son accesibles desde cualquier dispositivo mediante usuario y contraseña.
Opción 1: Whoogle — tu Google privado
Whoogle es ideal si querés la experiencia de Google, pero sin espiar.
Filtra anuncios, elimina AMP, bloquea tracking y te da URLs limpias.
Comando docker para levantarlo (con autenticación básica)
docker run --restart=always \
--publish 5000:5000 \
--detach \
--name whoogle-search \
-e WHOOGLE_USER=tu_usuario \
-e WHOOGLE_PASS=tu_contraseña_segura \
-e WHOOGLE_CONFIG_THEME=dark \
-e WHOOGLE_CONFIG_DISABLE=1 \
-e WHOOGLE_CONFIG_URL=https://tutorial.duckdns.org \
-e WHOOGLE_FALLBACK_ENGINE_URL="https://tutorial.duckdns.org/?q=" \
benbusby/whoogle-search:latestNota Importante (2025):
Desde enero de 2025, Google está bloqueando búsquedas sin JavaScript.
Por eso, el WHOOGLE_FALLBACK_ENGINE_URL es tu plan B:
si Whoogle falla, te redirige a DuckDuckGo con la misma consulta.
Configuración en Nginx Proxy Manager
Dominio:
tu-dominioForward a:
http://IP_DEL_LXC:5000SSL: activado con Let’s Encrypt
¡Listo! Accedé desde tu celular o browser.



Opción 2: SearXNG — el meta-buscador descentralizado
Si Whoogle replica la experiencia de Google de forma limpia, SearXNG juega en otra liga!! ;)
No es un buscador único, sino un agregador que consulta múltiples motores al mismo tiempo, sin guardar búsquedas, sin crear perfiles y sin compartir datos entre usuarios.
Busca en Google, DuckDuckGo, Bing, Wikipedia, YouTube, GitHub, Qwant y decenas más, y presenta los resultados unificados en una sola página.
Instancias públicas
Pasos para desplegar:
Cloná el repo oficial
git clone https://github.com/searxng/searxng-docker.git
Debe quedar todo descomprimido en el servidor, a mi me quedo así:
/home/docker/searxng
2.1. Dentro del directorio searxng tenemos los siguientes archivos:
directorio -> config
directorio -> data
archivo -> docker-compose.ymlGenerá una
secret_keysegura:
openssl rand -hex 32
El archivo docker compose, configuralo a gusto:
vim docker-compose.yml
version: '3.8'
services:
redis:
image: redis:alpine
restart: always
command: redis-server --save "" --appendonly no
tmpfs:
- /var/lib/redis
cap_drop:
- ALL
cap_add:
- SETGID
- SETUID
- DAC_OVERRIDE
networks:
- searxng_net
searxng:
image: elestio/searxng:latest
restart: always
ports:
- "2468:8888" # Solo accesible desde localhost (NPM hara el proxy)
volumes:
- ./searxng:/etc/searxng:rw
environment:
- SEARXNG_BASE_URL=https://tutorial.duckdns.org/ #tu dominio
cap_drop:
- ALL
cap_add:
- CHOWN
- SETGID
- SETUID
- DAC_OVERRIDE
logging:
driver: json-file
options:
max-size: "1m"
max-file: "1"
depends_on:
- redis
networks:
- searxng_net
networks:
searxng_net:
internal: true # Aislamiento adicional: solo searxng y redis se ven
Configurar el archivo config ( ojo que es muy sensible )
vim config/settings.yml
# SearXNG - Configuración básica para Uruguay
server:
port: 8080 # elegir puerto preferido!!
bind_address: 0.0.0.0 # donde queres que escuche tu interfaz de red!!
secret_key: "tu_secret_key"
general:
instance_name: "elegí_nombre_instancia"
default_locale: "es"
search:
default_lang: "es-UY"
safe_search: 0 # 0=off, 1=moderate, 2=strict
formats:
- html
- json
plugins:
self_info: false
hostname: false
ui:
theme: "simple"
default_theme: "simple"
¡Listo! Accedé desde tu celular o browser.


¿Y si quiero proteger el acceso con usuario y contraseña SearXNG?
Esto evita que tu instancia pública sea usada como proxy abierto o para scraping masivo.
Whoogle lo hace nativo (WHOOGLE_USER / WHOOGLE_PASS).
SearXNG no, pero Nginx Proxy Manager sí.
En NPM:
Creá una Access List.
Agregá un usuario y contraseña.
Asignala al proxy host de SearXNG.
Resultado: antes de ver la página solicita login

Errores comunes
502 Bad Gateway: usualmente el contenedor no responde. Verificá los logs y que el puerto esté escuchando.Invalid settings.yml: en SearXNG 2025+,plugins: {}ya no funciona. Usá claves explícitas.
Reflexión final
Autohospedar herramientas como estas no es solo tecnología.
Es una decisión técnica y personal.
No necesitás ser ingeniero/a: alcanza con curiosidad, paciencia y ganas de no depender de los gigantes.
Hoy, Whoogle y SearXNG corren en mis LXC, detrás de Nginx Proxy Manager, con mi propio dominio.
Y cada búsqueda que hago no alimenta perfiles ni entrena algoritmos: es mía.
¿Te animás a montar el tuyo?
El código es tuyo, la infraestructura es tuya, los resultados también.
¡Salute y buen blogging!
— Valerka (Montevideo, Uruguay)
¿Te gustó el post? ¿Tenés dudas, comentarios o querés compartir tu experiencia?
Escribime a: valerkasystem@protonmail.com — ¡Siempre leo los mails y trato de responder cuando puedo!