> ## 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

> Execute você mesmo o gateway open source do Watahub, com o seu próprio app da Meta.

Use Self-host quando quiser executar o gateway open source na sua própria infraestrutura. Você opera um app da Meta, uma chave de API e um webhook de assinante, e pode conectar as linhas que esse app permitir.

Isto não é a conta Cloud. A Cloud fica em [app.watahub.dev](https://app.watahub.dev/) e está documentada no restante deste site. Se você só quer uma chave de API do Watahub e uma página de conexão hospedada, volte à [introdução](https://docs.watahub.dev/pt-BR/overview.md) e siga a Cloud.

## O que você executa

O core é o repositório público [Hub-Ventures/watahub](https://github.com/Hub-Ventures/watahub), também publicado como `watahub` no npm (0.2.0). Ele roda em Cloudflare Workers ou no Node.js 20+. A licença é MIT.

Você configura o segredo do seu app da Meta, um token de verificação do webhook e uma chave de API do Watahub com 32 caracteres ou mais. O gateway guarda o token da Meta de cada linha e nunca o devolve. Seu agente recebe cada evento normalizado em `SUBSCRIBER_WEBHOOK_URL` e responde com `POST /v1/messages` no **seu** host do gateway, não em `https://cloud.watahub.dev`.

## Primeira execução local

Você precisa de Node.js 20 ou posterior, pnpm (`corepack enable` usa a versão fixada no repositório) e um app da Meta com o produto WhatsApp.

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

Gere `WATAHUB_API_KEY` e `SUBSCRIBER_WEBHOOK_SECRET`:

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

Preencha o `.env`. O gateway lê `process.env` e não carrega o `.env` sozinho, então inicie-o com `--env-file` do Node:

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

Um processo saudável devolve JSON com `status` `ok`, `service` `watahub` e `version` `0.2.0`.

O passo a passo completo — app da Meta, primeiro envio, primeiro webhook de entrada e Embedded Signup — está no guia [Getting started](https://github.com/Hub-Ventures/watahub/blob/main/docs/GETTING_STARTED.md) do core. Para Cloudflare Workers, Node, Docker ou um proxy reverso, use [Deployment](https://github.com/Hub-Ventures/watahub/blob/main/docs/DEPLOYMENT.md).

## Conectar uma linha

No Self-host você conclui uma linha com `POST /v1/onboarding/connect` (o código do Embedded Signup, o id do WABA, o id do número e o PIN) ou com um token de system user em `META_SYSTEM_USER_TOKEN`. Veja o Getting started.

Os clientes da Cloud usam [links de conexão hospedados](https://docs.watahub.dev/pt-BR/connect.md). Essas páginas não se aplicam aqui.

## Webhooks

O core encaminha um POST assinado por cada entrega da Meta para a sua única URL de assinante.

Os cabeçalhos são `x-watahub-signature` (`sha256=` mais o HMAC-SHA256 hexadecimal em minúsculas do corpo exato, com `SUBSCRIBER_WEBHOOK_SECRET`), `x-watahub-delivery-id` e `Idempotency-Key` (o mesmo valor do id de entrega). Deduplique em `x-watahub-delivery-id`. O catálogo de eventos está em [Webhooks and events](https://github.com/Hub-Ventures/watahub/blob/main/docs/WEBHOOKS_AND_EVENTS.md).

Não siga a página de [webhooks](https://docs.watahub.dev/pt-BR/webhooks.md) da Cloud para isso. Essa página documenta os webhooks de desenvolvedor em `cloud.watahub.dev`: `X-Webhook-Event`, `X-Webhook-Signature` sem prefixo `sha256=` e `X-Idempotency-Key`. Um destino administrativo antigo da Cloud pode parecer com o assinante do core; não é o guia de Self-host.

## O que permanece na Cloud

A Inbox hospedada, os registros de sete dias, a custódia de tokens para muitos tenants, os links de conexão hospedados, os webhooks de desenvolvedor, a [CLI](https://docs.watahub.dev/pt-BR/cli.md) e o [MCP](https://docs.watahub.dev/pt-BR/mcp.md) vêm com a Cloud / Enterprise Edition, não com o core open source.

## Guias oficiais do 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.