feat(episode): BACKFILL_q-1e1a65e7-b36c-4b5d-84df-549947e41694_S20260510.BACKFILL-RECOVERED_XX.bkf.0.warm_qdr.orphan.in.cc.es.000.BKF_J.F24DF_E.5FC-4
Skill: NONE | Type: chronicle Summary: Perfecto, SearXNG es una elección sólida — metabuscador open-source que agrega r
This commit is contained in:
parent
b1f320f52e
commit
9ffdeacb28
1 changed files with 21 additions and 0 deletions
|
|
@ -0,0 +1,21 @@
|
||||||
|
---
|
||||||
|
episode_id: "f24df5fc-495f-5689-a7ca-c568ea24c2ac"
|
||||||
|
puente_flat: "BACKFILL_q-1e1a65e7-b36c-4b5d-84df-549947e41694_S20260510.BACKFILL-RECOVERED_XX.bkf.0.warm_qdr.orphan.in.cc.es.000.BKF_J.F24DF_E.5FC-4"
|
||||||
|
session_code: "S20260510.BACKFILL_RECOVERED"
|
||||||
|
acto_dialogico: "informar"
|
||||||
|
actor_flujo: "ember_internal"
|
||||||
|
criticidad_aegis: "moderate"
|
||||||
|
skill_dominante: "NONE"
|
||||||
|
fase_proyecto: "maintenance"
|
||||||
|
tipo_semantico: "chronicle"
|
||||||
|
summary_one_line: "Perfecto, SearXNG es una elección sólida — metabuscador open-source que agrega resultados de múltiples motores sin tracking. Lo montamos en 4 pasos. **Paso 1 — Crear directorio y docker-compose.yml**"
|
||||||
|
source_type: "claude_code"
|
||||||
|
trust_boundary: "default"
|
||||||
|
created_at: "2026-05-10T00:00:00+00:00"
|
||||||
|
relectura_tagged: false
|
||||||
|
forgejo_commit_sha: "pending"
|
||||||
|
---
|
||||||
|
|
||||||
|
Perfecto, SearXNG es una elección sólida — metabuscador open-source que agrega resultados de múltiples motores sin tracking. Lo montamos en 4 pasos. **Paso 1 — Crear directorio y docker-compose.yml** ```bash # 🧠 MEMORIA mkdir -p /opt/stacks/searxng cat > /opt/stacks/searxng/docker-compose.yml << 'EOF' version: "3.8" services: searxng: image: searxng/searxng:latest container_name: searxng restart: unless-stopped ports: - "127.0.0.1:8723:8080" volumes: - ./searxng-data:/etc/searxng environment: - SEARXNG_BASE_URL=https://busca.brasaluz.com networks: - ember-net mem_limit: 512m memswap_limit: 512m networks: ember-net: external: true EOF ``` Escucha solo en 127.0.0.1:8723 — nunca expuesto directamente al exterior. Caddy será el único punto de entrada. El mem_limit de 512MB es suficiente para SearXNG (usa ~150-200MB en operación normal). **Paso 2 — Configuración base de SearXNG** ```bash # 🧠 MEMORIA mkdir -p /opt/stacks/searxng/searxng-data cat > /opt/stacks/searxng/searxng-data/settings.yml << 'EOF' use_default_settings: true general: instance_name: "EMBER Search" debug: false enable_metrics: false server: secret_key: "«SEARXNG_SECRET_KEY_32_CHARS»" bind_address: "0.0.0.0" port: 8080 image_proxy: true search: safe_search: 0 autocomplete: "google" default_lang: "es-CO" ui: static_use_hash: true default_theme: simple theme_args: simple_style: dark engines: - name: google disabled: false - name: duckduckgo disabled: false - name: brave disabled: false - name: wikipedia disabled: false - name: github disabled: false - name: arxiv disabled: false EOF ``` Motores activados: Google, DuckDuckGo, Brave, Wikipedia, GitHub, ArXiv. Tema dark que encaja con la estética EMBER. Idioma por defecto es español Colombia. John, recuerda reemplazar `«SEARXNG_SECRET_KEY_32_CHARS»` con una clave generada: `openssl rand -hex 16`. **Paso 3 — Agregar bloque Caddy con IP whitelisting** ```bash # 🧠 MEMORIA — Agregar al final del Caddyfile cat >> /etc/caddy/Caddyfile << 'EOF' busca.brasaluz.com { @blocked { not remote_ip 160.79.104.0/21 «JOHN_IP_PERSONAL» } respond @blocked 403 reverse_proxy searxng:8080 header { -Server X-Content-Type-Options nosniff X-Frame-Options DENY Referrer-Policy no-referrer } } EOF ``` El bloque `@blocked` deniega todo excepto el rango de IPs de Anthropic (160.79.104.0/21, para que Claude pueda usarlo via MCP) y tu IP personal. Los headers de seguridad eliminan Server header, previenen clickjacking y desactivan referrer — buenas prácticas para un servicio interno. **Paso 4 — Levantar y verificar** ```bash # 🧠 MEMORIA cd /opt/stacks/searxng docker compose up -d # Verificar container docker ps --filter name=searxng --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" # Reload Caddy (NO restart — lección de S20260315) docker exec caddy caddy reload --config /etc/caddy/Caddyfile # Verificar HTTPS curl -s -o /dev/null -w "%{http_code}" https://busca.brasaluz.com # Esperado: 200 # Verificar IP blocking (desde otra IP debería dar 403) # Este proceso lo verificas desde un VPN o pidiendo a alguien externo ``` Nota que usé `caddy reload`,...
|
||||||
|
|
||||||
|
La configuración completa del stack SearXNG en servidor MEMORIA CX53 requiere coordinar Caddy como reverse proxy, Docker Compose como orquestador de containers, y los volúmenes persistentes para preservar las preferencias de búsqueda entre reinicios. El procedimiento documentado aquí es reproducible en cualquier servidor Hetzner con Docker instalado.
|
||||||
Loading…
Reference in a new issue