Skip to main content
O deploy de produção só acontece com o OK do responsável. Antes, valide tudo local.

Passo a passo

  1. Projeto: crie um projeto na Railway e adicione o plugin PostgreSQL.
  2. Serviço: New › GitHub Repo › eduardocarezia/zapmeow. A Railway lê railway.json e usa o Dockerfile.
  3. Variáveis do serviço:
  4. Volume: anexe um volume em /data (cache de mídia). Sem ele a mídia é baixada de novo do WhatsApp.
  5. Domínio: gere um domínio público. O health check é GET /health.
  6. Réplicas: mantenha 1. Uma sessão de WhatsApp não pode estar conectada em duas instâncias ao mesmo tempo.
  7. Abra https://<domínio>/dashboard/, entre com a chave e leia o QR de cada sessão.

Atualizar

Cada push na branch ligada faz um redeploy. As sessões voltam sozinhas porque as chaves estão no Postgres; não precisa de novo QR.

Cuidados

  • O whatsmeow é não oficial: risco de banimento do número.
  • A Railway não expõe UDP de entrada; a ligação por voz usa só UDP de saída. Valide com uma ligação de teste antes de depender dela.
  • Trocar o código antigo pelo novo migra o schema do whatsmeow (16→18). O código antigo continua subindo sobre o schema novo e a sessão volta sem QR (testado); mesmo assim, tire um pg_dump antes.
  • Backup: faça dump do Postgres. Perder o banco = reler todos os QRs.