Skip to content

Latest commit

 

History

History
491 lines (345 loc) · 8.22 KB

File metadata and controls

491 lines (345 loc) · 8.22 KB

Guia de Instalação

Métodos de instalação do Evolution GO para diferentes ambientes.

Índice


Requisitos

Docker (Recomendado)

  • Docker 20.10+
  • Docker Compose 2.0+
  • PostgreSQL 12+ (containerizado)
  • Mínimo 1GB RAM
  • Mínimo 2GB disco

Instalação Local

  • Go 1.24+
  • PostgreSQL 12+
  • Git
  • Mínimo 1GB RAM
  • Mínimo 2GB disco

Opcionais

  • RabbitMQ - Sistema de filas
  • NATS - Mensageria distribuída
  • MinIO - Storage S3-compatible

Instalação com Docker (Recomendado)

Método mais simples e adequado para produção.

1. Obter Arquivos

Opção A: Clonar repositório

git clone https://git.evoai.app/Evolution/evolution-go.git
cd evolution-go

Opçã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.sql

2. Configurar API Key

Gere uma chave segura:

# Linux/Mac
uuidgen

# Python
python3 -c "import uuid; print(uuid.uuid4())"

# Resultado exemplo: df16caad-d0d2-41b2-bec5-75b90048a0db

Edite docker-compose.yml:

nano docker-compose.yml

Localize e substitua:

GLOBAL_API_KEY: "SUA-CHAVE-API-SEGURA-AQUI"

Por:

GLOBAL_API_KEY: "df16caad-d0d2-41b2-bec5-75b90048a0db"

3. Iniciar Serviços

docker-compose up -d

Aguarde ~30 segundos para inicialização completa.

4. Verificar Logs

# Evolution GO
docker-compose logs -f evolution-go

# PostgreSQL
docker-compose logs -f postgres

5. Acessar Aplicação


Instalação Local

Para ambientes de desenvolvimento.

1. Instalar PostgreSQL

Ubuntu/Debian:

sudo apt-get update
sudo apt-get install postgresql postgresql-contrib

macOS:

brew install postgresql@15
brew services start postgresql@15

Windows:
Download: https://www.postgresql.org/download/windows/

2. Configurar Banco de Dados

sudo -u postgres psql
CREATE DATABASE evogo_auth;
CREATE DATABASE evogo_users;
\q

3. Instalar Go

Download: https://go.dev/dl/

Verificar:

go version

4. Clonar Repositório

git clone https://git.evoai.app/Evolution/evolution-go.git
cd evolution-go

5. Instalar Dependências

go mod download

Ou:

make deps

6. Configurar Ambiente

cp .env.example .env
nano .env

Configuraçã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=Linux

7. Executar

Modo desenvolvimento:

make dev

Ou:

go run cmd/evolution-go/main.go -dev

Build produção:

make build-local
./build/evolution-go

Instalação com Docker Swarm

Para ambientes com alta disponibilidade.

1. Inicializar Swarm

docker swarm init

2. Criar Recursos

docker volume create evolution_go_data
docker volume create evolution_go_logs
docker network create --driver overlay network_public

3. Configurar Stack

cp docker/examples/docker-compose.swarm.yml ./docker-compose.swarm.yml
nano docker-compose.swarm.yml

Configure:

  • GLOBAL_API_KEY
  • POSTGRES_AUTH_DB
  • POSTGRES_USERS_DB
  • Labels Traefik (se aplicável)

4. Deploy

docker stack deploy -c docker-compose.swarm.yml evolution

5. Verificar

docker service ls
docker service logs evolution_evolution_go -f

Stack Completa

Incluindo 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 -d

Serviç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:

Configuração MinIO (primeira vez):

  1. Acesse http://localhost:9001
  2. Login: minioadmin / minioadmin
  3. Create bucket: evolution-media
  4. Configurar política de acesso

Verificação

Health Check

curl http://localhost:4000/server/ok

Resposta esperada:

{
  "status": "ok"
}

Swagger UI

Acesse: http://localhost:4000/swagger/index.html

Criar Instância de Teste

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_KEY no header e forneça name + token no body.

Verificar Logs

Docker:

docker-compose logs -f evolution-go

Local:

tail -f logs/evolution-go.log

Solução de Problemas

Connection Refused (PostgreSQL)

Diagnóstico:

docker-compose ps postgres
# Ou local:
sudo systemctl status postgresql

Verificar databases:

docker-compose exec postgres psql -U postgres -c "\l"

Porta em Uso

Alterar porta no docker-compose.yml:

ports:
  - "4001:4000"

Acesso via: http://localhost:4001

Container Reiniciando

Ver logs:

docker-compose logs evolution-go

Causas comuns:

  • GLOBAL_API_KEY não definida
  • PostgreSQL não acessível
  • Credenciais incorretas

Permissões de Volume

mkdir -p logs dbdata
chmod 777 logs dbdata

Ou usar bind mounts:

volumes:
  - ./logs:/app/logs
  - ./dbdata:/app/dbdata

MinIO Bucket Não Existe

  1. Acessar console: http://localhost:9001
  2. Login: minioadmin / minioadmin
  3. Criar bucket: evolution-media

Ou via CLI:

docker-compose exec minio mc mb /data/evolution-media

Comandos Úteis

Docker Compose

# 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

Docker Swarm

# 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

Próximos Passos


Arquivos de Exemplo

Disponíveis em docker/examples/:


Documentação Evolution GO v1.0