> ## Documentation Index
> Fetch the complete documentation index at: https://docs.watahub.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Self-host

> Corre tú mismo el gateway open source de Watahub, con tu propia app de Meta.

Usa Self-host cuando quieras correr el gateway open source en tu propia infraestructura. Operas una app de Meta, una clave API y un webhook de suscriptor, y puedes conectar las líneas que esa app permita.

Esto no es la cuenta Cloud. Cloud está en [app.watahub.dev](https://app.watahub.dev/) y se documenta en el resto de este sitio. Si solo quieres una clave API de Watahub y una página de conexión alojada, vuelve a la [introducción](https://docs.watahub.dev/es/overview.md) y sigue Cloud.

## Qué corres

El core es el repositorio público [Hub-Ventures/watahub](https://github.com/Hub-Ventures/watahub), también publicado como `watahub` en npm (0.2.0). Corre en Cloudflare Workers o en Node.js 20+. La licencia es MIT.

Configuras el secreto de tu app de Meta, un token de verificación del webhook y una clave API de Watahub de 32 caracteres o más. El gateway guarda el token de Meta de cada línea y nunca lo devuelve. Tu agente recibe cada evento normalizado en `SUBSCRIBER_WEBHOOK_URL` y responde con `POST /v1/messages` contra **tu** host del gateway, no contra `https://cloud.watahub.dev`.

## Primera ejecución local

Necesitas Node.js 20 o posterior, pnpm (`corepack enable` usa la versión fijada en el repositorio) y una app de Meta con el producto WhatsApp.

```bash theme={null}
git clone https://github.com/Hub-Ventures/watahub.git
cd watahub
pnpm install
cp .env.example .env
```

Genera `WATAHUB_API_KEY` y `SUBSCRIBER_WEBHOOK_SECRET`:

```bash theme={null}
openssl rand -hex 32
```

Completa `.env`. El gateway lee `process.env` y no carga `.env` por sí solo, así que arráncalo con `--env-file` de Node:

```bash theme={null}
pnpm exec tsx watch --env-file=.env src/node.ts
curl http://localhost:3000/health
```

Un proceso sano responde JSON con `status` `ok`, `service` `watahub` y `version` `0.2.0`.

El recorrido completo —app de Meta, primer envío, primer webhook de entrada y Embedded Signup— está en la guía [Getting started](https://github.com/Hub-Ventures/watahub/blob/main/docs/GETTING_STARTED.md) del core. Para Cloudflare Workers, Node, Docker o un proxy inverso, usa [Deployment](https://github.com/Hub-Ventures/watahub/blob/main/docs/DEPLOYMENT.md).

## Conectar una línea

En Self-host terminas una línea con `POST /v1/onboarding/connect` (el código de Embedded Signup, el id del WABA, el id del número y el PIN) o con un token de system user en `META_SYSTEM_USER_TOKEN`. Consulta Getting started.

Los clientes de Cloud usan [enlaces de conexión alojados](https://docs.watahub.dev/es/connect.md). Esas páginas no aplican aquí.

## Webhooks

El core reenvía un POST firmado por cada entrega de Meta a tu única URL de suscriptor.

Las cabeceras son `x-watahub-signature` (`sha256=` más el HMAC-SHA256 hexadecimal en minúsculas del cuerpo exacto, con `SUBSCRIBER_WEBHOOK_SECRET`), `x-watahub-delivery-id` e `Idempotency-Key` (el mismo valor que el id de entrega). Deduplica con `x-watahub-delivery-id`. El catálogo de eventos está en [Webhooks and events](https://github.com/Hub-Ventures/watahub/blob/main/docs/WEBHOOKS_AND_EVENTS.md).

No sigas la página de [webhooks](https://docs.watahub.dev/es/webhooks.md) de Cloud para esto. Esa página documenta los webhooks de desarrollador en `cloud.watahub.dev`: `X-Webhook-Event`, `X-Webhook-Signature` sin prefijo `sha256=` y `X-Idempotency-Key`. Un destino administrativo antiguo de Cloud puede parecerse al suscriptor del core; no es la guía de Self-host.

## Lo que se queda en Cloud

El Inbox alojado, los registros de siete días, la custodia de tokens para muchos tenants, los enlaces de conexión alojados, los webhooks de desarrollador, la [CLI](https://docs.watahub.dev/es/cli.md) y [MCP](https://docs.watahub.dev/es/mcp.md) vienen con Cloud / Enterprise Edition, no con el core open source.

## Guías oficiales del core

* [Getting started](https://github.com/Hub-Ventures/watahub/blob/main/docs/GETTING_STARTED.md)
* [API reference](https://github.com/Hub-Ventures/watahub/blob/main/docs/API_REFERENCE.md)
* [Webhooks and events](https://github.com/Hub-Ventures/watahub/blob/main/docs/WEBHOOKS_AND_EVENTS.md)
* [Deployment](https://github.com/Hub-Ventures/watahub/blob/main/docs/DEPLOYMENT.md)
* [Extensions and Enterprise Edition](https://github.com/Hub-Ventures/watahub/blob/main/docs/MULTI_TENANCY_AND_EXTENSIONS.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.