48 lines
1.3 KiB
Markdown
48 lines
1.3 KiB
Markdown
# Runbook — Centro de Mando 4Ventures
|
|
|
|
Operador: `marketing@4ventures.es`
|
|
Credenciales locales (gitignored): `.ops/marketing-credentials.txt`
|
|
|
|
## Health
|
|
|
|
```bash
|
|
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
|
|
|
|
```html
|
|
<script src="https://app.4ventures.es/_4v_attr.js" defer></script>
|
|
```
|
|
|
|
`POST https://n8n-agencia.4ventures.es/webhook/lead-inbound`
|
|
|
|
## Endurecer git / n8n
|
|
|
|
Ver `.ops/HARDEN_SURFACES.md` (IP allowlist; no aplicado hasta tener IPs).
|
|
|
|
## Incidentes
|
|
|
|
Ver `SECURITY.md`.
|