Métodos de instalação do Evolution GO para diferentes ambientes.
- Requisitos
- Instalação com Docker (Recomendado)
- Instalação Local
- Instalação com Docker Swarm
- Stack Completa
- Verificação
- Solução de Problemas
- Docker 20.10+
- Docker Compose 2.0+
- PostgreSQL 12+ (containerizado)
- Mínimo 1GB RAM
- Mínimo 2GB disco
- Go 1.24+
- PostgreSQL 12+
- Git
- Mínimo 1GB RAM
- Mínimo 2GB disco
- RabbitMQ - Sistema de filas
- NATS - Mensageria distribuída
- MinIO - Storage S3-compatible
Método mais simples e adequado para produção.
Opção A: Clonar repositório
git clone https://git.evoai.app/Evolution/evolution-go.git
cd evolution-goOpção B: Download direto
mkdir evolution-go-deploy && cd evolution-go-deploy
curl -o docker-compose.yml https://raw.githubusercontent.com/EvolutionAPI/evolution-go/main/docker/examples/docker-compose.yml
curl -o init-db.sql https://raw.githubusercontent.com/EvolutionAPI/evolution-go/main/docker/examples/init-db.sqlGere uma chave segura:
# Linux/Mac
uuidgen
# Python
python3 -c "import uuid; print(uuid.uuid4())"
# Resultado exemplo: df16caad-d0d2-41b2-bec5-75b90048a0dbEdite docker-compose.yml:
nano docker-compose.ymlLocalize e substitua:
GLOBAL_API_KEY: "SUA-CHAVE-API-SEGURA-AQUI"Por:
GLOBAL_API_KEY: "df16caad-d0d2-41b2-bec5-75b90048a0db"docker-compose up -dAguarde ~30 segundos para inicialização completa.
# Evolution GO
docker-compose logs -f evolution-go
# PostgreSQL
docker-compose logs -f postgres- API: http://localhost:4000
- Swagger: http://localhost:4000/swagger/index.html
- Health Check: http://localhost:4000/server/ok
Para ambientes de desenvolvimento.
Ubuntu/Debian:
sudo apt-get update
sudo apt-get install postgresql postgresql-contribmacOS:
brew install postgresql@15
brew services start postgresql@15Windows:
Download: https://www.postgresql.org/download/windows/
sudo -u postgres psqlCREATE DATABASE evogo_auth;
CREATE DATABASE evogo_users;
\qDownload: https://go.dev/dl/
Verificar:
go versiongit clone https://git.evoai.app/Evolution/evolution-go.git
cd evolution-gogo mod downloadOu:
make depscp .env.example .env
nano .envConfiguração mínima:
SERVER_PORT=4000
GLOBAL_API_KEY=sua-chave-gerada
POSTGRES_AUTH_DB=postgresql://postgres:postgres@localhost:5432/evogo_auth?sslmode=disable
POSTGRES_USERS_DB=postgresql://postgres:postgres@localhost:5432/evogo_users?sslmode=disable
DATABASE_SAVE_MESSAGES=false
WADEBUG=DEBUG
LOGTYPE=console
CONNECT_ON_STARTUP=false
WEBHOOKFILES=true
OS_NAME=LinuxModo desenvolvimento:
make devOu:
go run cmd/evolution-go/main.go -devBuild produção:
make build-local
./build/evolution-goPara ambientes com alta disponibilidade.
docker swarm initdocker volume create evolution_go_data
docker volume create evolution_go_logs
docker network create --driver overlay network_publiccp docker/examples/docker-compose.swarm.yml ./docker-compose.swarm.yml
nano docker-compose.swarm.ymlConfigure:
GLOBAL_API_KEYPOSTGRES_AUTH_DBPOSTGRES_USERS_DB- Labels Traefik (se aplicável)
docker stack deploy -c docker-compose.swarm.yml evolutiondocker service ls
docker service logs evolution_evolution_go -fIncluindo RabbitMQ, MinIO e NATS.
curl -o docker-compose-full.yml https://raw.githubusercontent.com/EvolutionAPI/evolution-go/main/docker/examples/docker-compose.full.yml
nano docker-compose-full.yml # Configurar API Key
docker-compose -f docker-compose-full.yml up -dServiços incluídos:
| Serviço | Porta | Função |
|---|---|---|
| Evolution GO | 4000 | API principal |
| PostgreSQL | 5432 | Banco de dados |
| RabbitMQ | 5672, 15672 | Filas de mensagens |
| MinIO | 9000, 9001 | Storage de objetos |
| NATS | 4222 | Mensageria (opcional) |
Acessos:
- Evolution GO: http://localhost:4000
- Swagger: http://localhost:4000/swagger/index.html
- RabbitMQ: http://localhost:15672 (admin/admin)
- MinIO: http://localhost:9001 (minioadmin/minioadmin)
Configuração MinIO (primeira vez):
- Acesse http://localhost:9001
- Login: minioadmin / minioadmin
- Create bucket:
evolution-media - Configurar política de acesso
curl http://localhost:4000/server/okResposta esperada:
{
"status": "ok"
}Acesse: http://localhost:4000/swagger/index.html
curl -X POST http://localhost:4000/instance/create \
-H "Content-Type: application/json" \
-H "apikey: sua-chave-api-global" \
-d '{
"name": "teste",
"token": "token-unico-para-esta-instancia"
}'Nota: Use a
GLOBAL_API_KEYno header e forneçaname+tokenno body.
Docker:
docker-compose logs -f evolution-goLocal:
tail -f logs/evolution-go.logDiagnóstico:
docker-compose ps postgres
# Ou local:
sudo systemctl status postgresqlVerificar databases:
docker-compose exec postgres psql -U postgres -c "\l"Alterar porta no docker-compose.yml:
ports:
- "4001:4000"Acesso via: http://localhost:4001
Ver logs:
docker-compose logs evolution-goCausas comuns:
GLOBAL_API_KEYnão definida- PostgreSQL não acessível
- Credenciais incorretas
mkdir -p logs dbdata
chmod 777 logs dbdataOu usar bind mounts:
volumes:
- ./logs:/app/logs
- ./dbdata:/app/dbdata- Acessar console: http://localhost:9001
- Login: minioadmin / minioadmin
- Criar bucket:
evolution-media
Ou via CLI:
docker-compose exec minio mc mb /data/evolution-media# Iniciar
docker-compose up -d
# Parar
docker-compose stop
# Reiniciar
docker-compose restart
# Status
docker-compose ps
# Logs
docker-compose logs -f
# Remover
docker-compose down
# Atualizar
docker-compose pull
docker-compose up -d# Listar serviços
docker service ls
# Logs
docker service logs evolution_evolution_go -f
# Escalar
docker service scale evolution_evolution_go=3
# Atualizar
docker service update --image evoapicloud/evolution-go:latest evolution_evolution_go
# Remover
docker stack rm evolution- Configuração - Variáveis de ambiente
- Início Rápido - Primeira instância
- API Overview - Estrutura da API
- Docker Deployment - Deploy avançado
Disponíveis em docker/examples/:
Documentação Evolution GO v1.0