-
Notifications
You must be signed in to change notification settings - Fork 2
Instalação
Este guia cobre a instalação do Zyra em ambiente local ou servidor Linux, com foco em previsibilidade e validação rápida do setup.
Para um onboarding mais curto, veja também o README do repositório.
- Node.js 20 ou superior
- npm como gerenciador principal do projeto
- MySQL 8.0+ para persistência durável e auditoria
- Redis 6.0+ opcional, mas recomendado para cache quente e melhor performance
- Git
O runtime principal usa:
- TypeScript + TSX
- Baileys para conexão WhatsApp
-
mysql2para persistência SQL -
redispara cache distribuído -
pm2para operação em produção
sudo apt update
sudo apt install -y git curl build-essentialExemplo com nvm:
curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install --lts
node -v
npm -vsudo apt install -y mysql-server
sudo systemctl enable --now mysql
sudo mysql -e "CREATE DATABASE IF NOT EXISTS zyra CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"sudo apt install -y redis-server
sudo systemctl enable --now redis-server
redis-cli pinggit clone https://github.com/kaikybrofc/zyra.git
cd zyra
npm installPara reproduzir o fluxo da CI com mais fidelidade:
npm ciO projeto não depende mais de pacotes privados para a instalação padrão.
Se npm install ou npm ci falhar, revise rede, cache local do npm e resolução de dependências públicas.
Crie o .env a partir do exemplo:
cp .env.example .envVariáveis mínimas para a primeira subida:
-
WA_CONNECTION_IDpara uma sessão explícita, ouWA_CONNECTION_IDSpara várias sessões explícitas MYSQL_URL-
WA_COMMAND_PREFIX(opcional) -
WA_REDIS_URL(opcional, recomendado)
Os detalhes completos estão em Configuração.
npm run db:initEsse passo cria tabelas ausentes, garante índices críticos e registra a conexão quando necessário. A fonte de verdade do schema está em docs/exemplodbmodel.md.
npm run lint
npm run build
npm test
npm run db:verifynpm run devnpm run startCom o processo ativo, acompanhe o bootstrap e faça o pareamento via QR Code quando necessário.
Se WA_CONNECTION_IDS não estiver definido e o MySQL já tiver sessões persistidas em auth_creds, o bootstrap pode descobrir automaticamente quais conexões devem subir.
- build TypeScript executa sem erro
- conexão com MySQL está funcional
-
npm run db:initconclui com sucesso -
npm run db:verifyretorna estado coerente da conexão atual - a aplicação inicia e consegue receber eventos do WhatsApp
- logs passam a ser gravados normalmente
Depois da instalação:
Zyra Wiki • Última atualização: 17/05/2026
Zyra Wiki • Última atualização: 17/05/2026
Home | Configuração | Comandos | Banco-de-Dados | Produção | Troubleshooting