Files
4ventures-client-portal/docs/RUNBOOK.md
2026-09-21 18:47:08 +02:00

1.6 KiB

Runbook — Centro de Mando 4Ventures

Operador: marketing@4ventures.es
Credenciales locales (gitignored): .ops/marketing-credentials.txt

Health

curl -sf https://app.4ventures.es/api/health
# expect: serviceRoleConfigured true
./scripts/smoke.sh https://app.4ventures.es
python3 scripts/smoke_operator_login.py
python3 scripts/smoke_chat_auth.py

Deploy (Dokploy)

  1. Push a main en Gitea Marketing/4ventures-client-portal.
  2. Dokploy → Web4Ventures / production / client-portal → Deploy
    (id interno web4ventures-clientportal-jntjhs).
  3. Environment (runtime + build via “Create Environment File”):
    • NEXT_PUBLIC_SUPABASE_URL
    • NEXT_PUBLIC_SUPABASE_ANON_KEY
    • SUPABASE_SERVICE_ROLE_KEY
    • ANTHROPIC_API_KEY (opcional, LLM)
  4. Traefik: portal.yml → http://web4ventures-clientportal-jntjhs:3000
  5. Smoke: /login → KPIs → creatividades → chat.

Alta cliente

UI /dashboard/agencia (roles admin/team) o RPC provision_client.

Atribución

<script src="https://app.4ventures.es/_4v_attr.js" defer></script>

POST https://n8n-agencia.4ventures.es/webhook/lead-inbound

Endurecer git / n8n

Aplicado 2026-09-21: IP allowlist 90.161.248.78/32 en UI de git + n8n; webhooks /webhook abiertos.
Detalle / revert: .ops/HARDEN_SURFACES.md. Re-aplicar: python3 scripts/dokploy_apply_traefik_harden.py.

app.4ventures.es y Dokploy sin allowlist.

Rotación JWT Supabase

Claves nuevas en .ops/supabase_rotated.env (gitignored). Aplicar requiere recrear el stack Supabase (ver SECURITY.md).

Incidentes

Ver SECURITY.md.