deploy-searxng
À propos
Cette compétence déploie une instance auto-hébergée de SearXNG en utilisant Docker Compose avec un proxy inverse Nginx et une configuration personnalisée du moteur de recherche. Elle se concentre sur la confidentialité, les performances et la personnalisation de l'interface pour une expérience de recherche agrégée et privée sans suivi. Utilisez-la lorsque vous avez besoin d'une alternative auto-hébergée aux moteurs de recherche commerciaux.
Installation rapide
Claude Code
Recommandénpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/deploy-searxngCopiez et collez cette commande dans Claude Code pour installer cette compétence
Documentation
name: deploy-searxng locale: es source_locale: en source_commit: 6f65f316 translator: claude-sonnet-4-6 translation_date: 2026-03-16 description: > Desplegar una instancia auto-alojada de SearXNG con Docker Compose, proxy inverso Nginx, y configuración personalizada de motores de búsqueda. Cubrir seguridad, rendimiento, y personalización de la interfaz. Usar cuando se necesite un metabuscador privado, búsqueda agregada sin rastreo, o una alternativa auto-alojada a buscadores comerciales. license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: containerization complexity: intermediate language: multi tags: searxng, search-engine, self-hosted, docker, privacy
Desplegar SearXNG
Desplegar un metabuscador SearXNG auto-alojado con Docker y configuración personalizada.
Cuándo Usar
- Necesitando un metabuscador privado sin rastreo
- Queriendo agregar resultados de múltiples motores de búsqueda
- Desplegando una alternativa auto-alojada a buscadores comerciales
- Requiriendo búsqueda personalizable para un equipo u organización
- Integrando búsqueda privada con otras herramientas (MCP, API)
Entradas
- Requerido: Servidor con Docker y Docker Compose instalados
- Requerido: Nombre de dominio (para acceso externo) o acceso localhost
- Opcional: Certificados TLS para HTTPS
- Opcional: Configuración de motores de búsqueda preferidos
- Opcional: Personalización de interfaz (tema, idioma)
Procedimiento
Paso 1: Configurar Estructura del Proyecto
mkdir -p searxng/{config,data}
cd searxng
Crear docker-compose.yml:
version: '3.8'
services:
searxng:
image: searxng/searxng:latest
container_name: searxng
ports:
- "8080:8080"
volumes:
- ./config:/etc/searxng:rw
- ./data:/var/log/searxng:rw
environment:
- SEARXNG_BASE_URL=https://busqueda.ejemplo.com/
- SEARXNG_SECRET_KEY=clave_secreta_larga_y_aleatoria
cap_drop:
- ALL
cap_add:
- CHOWN
- SETGID
- SETUID
restart: unless-stopped
Esperado: Estructura de directorios creada, docker-compose.yml configurado.
En caso de fallo: Verificar permisos de escritura en los directorios, asegurar que Docker está instalado.
Paso 2: Configurar SearXNG
Crear config/settings.yml:
use_default_settings: true
general:
debug: false
instance_name: "Mi Buscador"
search:
safe_search: 0
autocomplete: "google"
default_lang: "es"
server:
secret_key: "clave_secreta_larga_y_aleatoria"
bind_address: "0.0.0.0"
port: 8080
limiter: true
ui:
default_theme: simple
default_locale: es
query_in_title: true
engines:
- name: google
engine: google
shortcut: g
disabled: false
- name: duckduckgo
engine: duckduckgo
shortcut: ddg
disabled: false
- name: wikipedia
engine: wikipedia
shortcut: wp
disabled: false
Esperado: SearXNG configurado con motores de búsqueda, idioma predeterminado, y seguridad.
En caso de fallo: Validar sintaxis YAML, verificar que el secret_key es único y largo.
Paso 3: Configurar Proxy Inverso (Opcional)
Para acceso externo con HTTPS, configurar Nginx:
server {
listen 443 ssl http2;
server_name busqueda.ejemplo.com;
ssl_certificate /etc/ssl/certs/cert.pem;
ssl_certificate_key /etc/ssl/private/key.pem;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Limitar acceso (opcional)
# allow 192.168.0.0/16;
# deny all;
}
}
Esperado: SearXNG accesible vía HTTPS a través de Nginx.
En caso de fallo: Verificar certificados TLS, comprobar que Nginx puede resolver el upstream.
Paso 4: Iniciar y Verificar
# Iniciar SearXNG
docker compose up -d
# Verificar estado
docker compose ps
docker compose logs searxng
# Probar búsqueda
curl "http://localhost:8080/search?q=test&format=json"
Esperado: SearXNG ejecutándose y respondiendo a consultas de búsqueda.
En caso de fallo: Revisar logs del contenedor, verificar configuración de motores de búsqueda, comprobar conectividad de red.
Validación
- SearXNG se inicia sin errores
- La interfaz web es accesible y funcional
- Las búsquedas devuelven resultados de múltiples motores
- El idioma predeterminado es el configurado
- Las capacidades de seguridad están limitadas (cap_drop: ALL)
- HTTPS funciona a través del proxy inverso (si está configurado)
Errores Comunes
- Secret key débil o predeterminada: Usar una clave aleatoria larga. SearXNG rechaza claves débiles.
- Rate limiting de motores: Los motores de búsqueda pueden bloquear IPs con muchas solicitudes. Habilitar el limiter integrado.
- Motores deshabilitados silenciosamente: Algunos motores requieren configuración adicional. Verificar en la página de preferencias.
- Permisos de directorio: Los directorios montados deben ser escribibles por el usuario del contenedor.
- Base URL incorrecta: Debe coincidir exactamente con la URL de acceso, incluyendo el protocolo y la barra final.
Habilidades Relacionadas
configure-nginx- Configuración detallada de Nginx como proxyconfigure-reverse-proxy- Patrones de proxy inverso con Traefiksetup-compose-stack- Stacks Docker Compose multi-servicio
Dépôt GitHub
Compétences associées
railway-docs
DocumentationCette compétence récupère la documentation actuelle de Railway pour répondre aux questions sur les fonctionnalités, le fonctionnement ou des URL spécifiques de la documentation. Elle garantit que les développeurs reçoivent des informations précises et à jour directement depuis les sources officielles de Railway. Utilisez-la lorsque les utilisateurs demandent comment fonctionne Railway ou font référence à la documentation de Railway.
n8n-code-python
DocumentationCette compétence Claude offre un accompagnement expert pour écrire du code Python dans les nœuds Code de n8n, en particulier pour utiliser la bibliothèque standard de Python et travailler avec la syntaxe spéciale de n8n comme `_input`, `_json` et `_node`. Elle aide les développeurs à comprendre les limites de Python dans n8n et recommande d'utiliser JavaScript pour la plupart des workflows, tout en proposant des solutions Python pour des besoins spécifiques de transformation de données.
archon
DocumentationLa compétence Archon offre une recherche sémantique alimentée par RAG et une gestion de projet via une API REST. Utilisez-la pour interroger la documentation, gérer des projets/tâches hiérarchiques et effectuer de la recherche de connaissances avec des capacités de téléchargement de documents. Priorisez toujours Archon en premier lors de la recherche dans une documentation externe avant d'utiliser d'autres sources.
n8n-code-javascript
DocumentationCette compétence Claude fournit des conseils d'expert pour écrire du code JavaScript dans les nœuds Code d'n8n. Elle couvre la syntaxe essentielle spécifique à n8n comme les variables `$input`/`$json`, les assistants HTTP et la gestion des DateTime, tout en résolvant les erreurs courantes. Utilisez-la lors du développement de workflows n8n nécessitant un traitement JavaScript personnalisé dans les nœuds Code.
