SearXNG: tu propio buscador sin rastreo en un VPS
Un buscador convencional puede relacionar una consulta con la dirección IP, las cookies y el historial de actividad. SearXNG cambia el recorrido: el navegador accede a tu instancia, esta consulta varios motores de búsqueda externos y reúne sus respuestas en una sola página.
Las fuentes externas ven la dirección del servidor SearXNG, no las cookies del usuario. El propio servicio no crea un perfil publicitario. Sin embargo, esto no proporciona anonimato total: el propietario de una instancia pública puede mantener registros técnicamente y, después de abrir un enlace, el sitio de destino vuelve a interactuar directamente con el navegador.
Vamos a conocer las posibilidades de SearXNG e instalar nuestra propia instancia en un VPS con HTTPS y protección mediante contraseña.
Qué es SearXNG y cómo funciona
SearXNG es un metabuscador gratuito y de código abierto. No dispone de un índice propio de sitios web: el servicio obtiene resultados de los buscadores configurados y de fuentes especializadas, los normaliza y los muestra en una interfaz única.
Navegador → tu SearXNG → motores de búsqueda
↓
resultados combinadosEn cada consulta, SearXNG:
- determina la categoría de búsqueda: web, imágenes, noticias, vídeos u otra;
- consulta las fuentes seleccionadas en nombre del servidor;
- no les transmite las cookies del usuario y utiliza un perfil de navegador aleatorio para las solicitudes salientes;
- reúne las respuestas en una sola página de resultados.
La velocidad depende de sistemas externos: pueden responder lentamente, mostrar un CAPTCHA o bloquear la dirección IP. SearXNG es una capa intermedia controlable, no un índice autónomo.
Por qué SearXNG resulta más interesante que un solo buscador
Distintas fuentes en una sola página de resultados
Puedes combinar buscadores generales con fuentes especializadas: enciclopedias, mapas, publicaciones científicas, repositorios, noticias o catálogos de imágenes. Esto ayuda cuando una página de resultados convencional está saturada de páginas SEO o encuentra con dificultad materiales especializados.
En el momento de preparar este artículo, la documentación enumeraba 272 integraciones, de las cuales 83 estaban activadas de forma predeterminada. Esto no significa que todas sean igual de estables.
El conjunto depende de la configuración. Unas pocas fuentes estables suelen funcionar más rápido que todas las disponibles activadas al mismo tiempo.
Comandos rápidos
Los atajos permiten seleccionar temporalmente un motor, una categoría o un idioma:
!wp docker compose — buscar en Wikipedia
!images aurora boreal — buscar imágenes
:es !wp servidor proxy — buscar en español en WikipediaEl comando !! redirige al usuario directamente a un buscador externo. En este modo, la protección de SearXNG deja de aplicarse.
Búsqueda para el navegador y tus propias herramientas
SearXNG es compatible con OpenSearch, por lo que puede configurarse como buscador predeterminado del navegador. También ofrece una API HTTP con respuestas en JSON, CSV o RSS, siempre que el administrador haya permitido los formatos necesarios.
Una sola instancia puede convertirse en el backend de búsqueda de un panel interno, un bot, un script de investigación o un asistente de IA local. Conviene exponer la API solo después de configurar la autenticación y los límites de solicitudes.
Qué nivel de privacidad ofrece SearXNG
| Lo que hace | Lo que no hace |
|---|---|
| No transmite las cookies del navegador a los buscadores externos | No proporciona anonimato total |
| Oculta la IP del usuario detrás de la IP del servidor | No protege al usuario después de abrir el sitio encontrado |
| Elimina publicidad de terceros y algunos parámetros de seguimiento | No garantiza que el propietario de un servidor ajeno no mantenga registros |
| Puede cargar imágenes mediante un proxy | No sustituye una VPN, Tor ni la protección del navegador |
Una instancia pública resulta cómoda para conocer el servicio, pero hay que confiar en su administrador, y una dirección IP compartida recibe restricciones con mayor frecuencia.
Un servidor propio te da control sobre los registros, las fuentes y el acceso, pero no convierte el navegador en anónimo.
Instancia pública, servidor doméstico o VPS
| Opción | Ventajas | Limitaciones |
|---|---|---|
| Pública | No hay que instalar nada | Confianza en el propietario, sobrecarga, CAPTCHA |
| Servidor doméstico | Control total sin alquilar un VPS | El dispositivo debe funcionar continuamente; el acceso externo es más difícil de configurar |
| VPS propio | Funcionamiento permanente, dominio, HTTPS, acceso desde distintos dispositivos | Hay que actualizar los contenedores y supervisar la seguridad |
Una instancia propia de SearXNG es útil para una familia, un equipo, un desarrollador o herramientas locales de IA. Para búsquedas ocasionales, una instancia pública es más sencilla.
Qué VPS necesita SearXNG
La carga depende del número de usuarios, las fuentes y las consultas simultáneas. Configuraciones iniciales prácticas:
| Escenario | CPU | RAM | Almacenamiento |
|---|---|---|---|
| Un usuario | 1 vCPU | 1 GB | 10 GB |
| Familia o equipo pequeño | 2 vCPU | 2 GB | 20 GB |
| API y servicios adicionales | 2–4 vCPU | desde 4 GB | desde 30 GB |
No se necesita un disco grande. Son más importantes la calidad de la red, una dirección IP estable y una reserva de RAM.
Un VPS Linux de tropic.host es adecuado para este escenario: puedes empezar con una configuración pequeña y aumentar los recursos a medida que añadas usuarios o acceso a la API. Al elegir una tarifa, resulta más útil invertir en RAM y calidad de red que pagar de más por capacidad de almacenamiento.
Cómo instalar SearXNG en un VPS con Docker Compose
En el ejemplo utilizaremos Ubuntu 24.04 LTS, search.example.com, Valkey y Caddy. Dirige el registro DNS A al servidor y abre los puertos 80 y 443.
1. Instala Docker y crea un directorio
sudo apt update
sudo apt install -y docker.io docker-compose-v2 openssl
sudo systemctl enable --now docker
sudo mkdir -p /opt/searxng/searxng
cd /opt/searxngCrea un archivo .env con el dominio y un secreto aleatorio:
printf 'SEARXNG_HOSTNAME=search.example.com\nSEARXNG_SECRET=%s\n' \
"$(openssl rand -hex 32)" | sudo tee .env >/dev/null
sudo chmod 600 .env2. Crea docker-compose.yml
name: searxng
services:
searxng:
image: docker.io/searxng/searxng:latest
restart: unless-stopped
environment:
SEARXNG_BASE_URL: https://${SEARXNG_HOSTNAME}/
SEARXNG_SECRET: ${SEARXNG_SECRET}
SEARXNG_VALKEY_URL: valkey://valkey:6379/0
volumes:
- ./searxng:/etc/searxng:rw
- searxng-cache:/var/cache/searxng
depends_on: [valkey]
valkey:
image: docker.io/valkey/valkey:9-alpine
restart: unless-stopped
command: valkey-server --save 30 1 --loglevel warning
volumes:
- valkey-data:/data
caddy:
image: docker.io/caddy:2-alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
environment:
SEARXNG_HOSTNAME: ${SEARXNG_HOSTNAME}
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy-data:/data
- caddy-config:/config
depends_on: [searxng]
volumes:
searxng-cache:
valkey-data:
caddy-data:
caddy-config:3. Configura SearXNG
Crea searxng/settings.yml:
use_default_settings: true
general:
instance_name: "Private Search"
search:
safe_search: 1
autocomplete: ""
formats: [html]
server:
limiter: true
image_proxy: true
valkey:
url: valkey://valkey:6379/0Crea searxng/limiter.toml:
[botdetection]
trusted_proxies = [
"127.0.0.0/8",
"::1",
"172.16.0.0/12",
]El limiter reduce el riesgo de que los bots sobrecarguen la instancia y provoquen que los buscadores externos restrinjan antes su dirección IP.
4. Añade una contraseña y HTTPS
Genera el hash de una contraseña segura:
sudo docker run --rm caddy:2-alpine \
caddy hash-password --plaintext 'SUSTITUYE_LA_CONTRASENA'Inserta el hash obtenido en Caddyfile:
{$SEARXNG_HOSTNAME} {
basic_auth {
searchuser INSERTA_EL_HASH
}
reverse_proxy searxng:8080 {
header_up X-Real-IP {remote_host}
}
}Caddy almacena el hash, no la contraseña en texto abierto. En lugar de Basic Auth, también puedes restringir el servicio dentro de una VPN.
5. Inicia los contenedores
sudo docker compose config
sudo docker compose pull
sudo docker compose up -d
sudo docker compose psAbre https://search.example.com. Caddy obtendrá automáticamente un certificado TLS y, después, el navegador solicitará el usuario searchuser y la contraseña. Los registros de SearXNG están disponibles con el comando:
sudo docker compose logs -f searxngQué configurar después del inicio
Mantén solo las fuentes útiles, elige el idioma y la configuración de SafeSearch y, después, añade SearXNG al navegador mediante OpenSearch. Para actualizarlo, basta con ejecutar:
sudo docker compose pull
sudo docker compose up -dHaz copias de seguridad de .env, Caddyfile y del directorio searxng. Activa la API JSON solo cuando sea necesario y no la dejes sin contraseña ni limitación de frecuencia de solicitudes.
Errores habituales
| Error | Consecuencia | Solución |
|---|---|---|
| Abrir la instancia para todo el mundo | Los bots generan carga y la IP recibe restricciones con mayor frecuencia | Usar una contraseña, una VPN o inicio de sesión único |
| Activar demasiadas fuentes | Resultados lentos y tiempos de espera agotados | Mantener unos pocos motores estables |
| Considerar SearXNG un índice propio | Parte de los resultados desaparece cuando fallan los sistemas externos | Tener en cuenta la dependencia de las fuentes |
| Esperar anonimato total | El sitio encontrado todavía puede rastrear el navegador | Usar protección del navegador, una VPN o Tor |
| Ejecutarlo sin HTTPS | Las consultas y la contraseña se transmiten de forma insegura | Usar un proxy inverso con TLS |
Conclusión
SearXNG reúne distintas fuentes en una sola interfaz, reduce la personalización y proporciona una búsqueda común al navegador, los scripts o una IA local. Una instancia pública basta para conocer el servicio. Para un uso habitual, es mejor disponer de un servidor propio con HTTPS, autenticación, limiter y un pequeño conjunto de fuentes estables.
Puedes empezar con 1 GB de RAM. Conviene aumentar los recursos cuando crezca el número de usuarios, al habilitar la API o al ejecutar contenedores adicionales.
FAQ
¿SearXNG es completamente anónimo?
No. Oculta algunos datos a los buscadores externos, pero el administrador de la instancia puede mantener registros. Después de abrir un sitio, se aplican sus propios mecanismos de seguimiento.
¿SearXNG es mejor que Google?
Resuelve un problema distinto. Google suele ser más rápido y personaliza más los resultados. SearXNG ofrece mayor control, permite combinar fuentes y depende menos del perfil del usuario.
¿Se puede utilizar SearXNG sin un VPS?
Sí. Puedes usar una instancia pública, un ordenador doméstico, un NAS o un miniservidor. Se necesita un VPS para disponer de acceso permanente desde cualquier red.
¿Cuánta memoria RAM se necesita?
Para un usuario, es razonable empezar con 1 GB. Para una familia, un equipo, una API o contenedores adicionales, es preferible disponer de 2 a 4 GB.
¿Se puede conectar SearXNG a un navegador o a una IA?
Sí. El navegador puede utilizar OpenSearch y los programas pueden usar la API HTTP. El acceso a la API debe protegerse mediante autenticación y un limiter.
