Como instalar a Evolution API 2.0

Nesse tutorial você vai aprender a instalar a Evolution API 2.0. Vamos nessa?
Primeiro, é necessário que você tenha instalado em sua VPS o Docker e o Portainer. Se você não sabe como fazer isso, leia esse artigo aqui antes.

Apontamentos de domínio da Evolution API 2.0

Acesse o local onde você adquiriu o seu domínio, entre em Zone DNS (gerenciamento de DNS) e faça os seguintes apontamentos do tipo A:

evo2
www.evo2
storageevo
www.storageevo
s3evo
www.s3evo
evorabbit
www.evorabbit

Preparando o Portainer

Agora vamos para o Portainer!

Dentro do Portainer o primeiro passo é criar uma network chamada “evolutionapi”. Depois disso, acesse a aba de containers, clique no container do Traefik e role a página até o final. Selecione a network que você acabou de criar na lista e clique no botão “Join Network”.

Feito isso, agora clique em “Stacks” e clique no botão para criar uma nova stack. Copie o código abaixo e cole dentro do editor de stacks:

version: "3.8"

services:
  evolution_v2:
    restart: always
    image: atendai/evolution-api:v2.2.3
    depends_on:
      - evo_redis
      - evo_postgres
    volumes:
      - evolution_instances:/evolution/instances
    networks:
      - evolutionapi_2
    environment:
      - AUTHENTICATION_API_KEY=XXXXXXXXXX # API Key pode gerar no ChatGPT
      - AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES=true
      - CACHE_LOCAL_ENABLED=false
      - CACHE_REDIS_ENABLED=true
      - CACHE_REDIS_PREFIX_KEY=evolution_v2
      - CACHE_REDIS_SAVE_INSTANCES=false
      - CACHE_REDIS_URI=redis://evo_redis:6379/1
      - CHATWOOT_ENABLED=true
      - CHATWOOT_IMPORT_DATABASE_CONNECTION_URI=postgresql://user:password@host:5432/chatwoot?sslmode=disable # Chatwoot
      - CHATWOOT_IMPORT_PLACEHOLDER_MEDIA_MESSAGE=true
      - CHATWOOT_MESSAGE_DELETE=true
      - CHATWOOT_MESSAGE_READ=true
      - DATABASE_CONNECTION_CLIENT_NAME=evolution_v2
      - DATABASE_CONNECTION_URI=postgresql://postgres:SUASENHA@evo_postgres:5432/evolution # Postgres
      - DATABASE_ENABLED=true
      - DATABASE_PROVIDER=postgresql
      - DATABASE_SAVE_DATA_CHATS=true
      - DATABASE_SAVE_DATA_CONTACTS=true
      - DATABASE_SAVE_DATA_HISTORIC=true
      - DATABASE_SAVE_DATA_INSTANCE=true
      - DATABASE_SAVE_DATA_LABELS=true
      - DATABASE_SAVE_DATA_NEW_MESSAGE=true
      - DATABASE_SAVE_MESSAGE_UPDATE=true
      - DEL_INSTANCE=false
      - DIFY_ENABLED=true
      - LANGUAGE=pt-br
      - LOG_BAILEYS=error
      - LOG_LEVEL=ERROR
      - OPENAI_ENABLED=true
      - QRCODE_COLOR=#175197
      - QRCODE_LIMIT=30
      - RABBITMQ_ENABLED=true
      - RABBITMQ_GLOBAL_ENABLED=true
      - RABBITMQ_URI=amqp://USUARIO:SUASENHA@rabbitmq:5672/rabbitmq # RabbitMQ
      - S3_ACCESS_KEY=XXXXXXXXXX # S3 Access Key
      - S3_BUCKET=evolution
      - S3_ENABLED=true
      - S3_ENDPOINT=s3evo.SEUSITE.XPTO # URL Minio S3
      - S3_PORT=443
      - S3_SECRET_KEY=XXXXXXXXXX # S3 Secret Key
      - S3_USE_SSL=true
      - SERVER_URL=https://evo2.SEUSITE.XPTO # URL Evo 2
      - SQS_ENABLED=false
      - TELEMETRY=false
      - TYPEBOT_API_VERSION=latest
      - TYPEBOT_ENABLED=true
      - WEBSOCKET_ENABLED=true
    labels:
      - traefik.enable=true
      - traefik.http.routers.evolution_v2.rule=Host(`evo2.SEUSITE.XPTO`) # URL Evo 2
      - traefik.http.routers.evolution_v2.entrypoints=web,websecure
      - traefik.http.routers.evolution_v2.tls.certresolver=leresolver
      - traefik.http.routers.evolution_v2.service=evolution_v2
      - traefik.http.services.evolution_v2.loadbalancer.server.port=8080
      - traefik.http.services.evolution_v2.loadbalancer.passHostHeader=true
  evo_postgres:
    image: postgres:14
    restart: always
    environment:
      - POSTGRES_DB=evolution # Nome do Banco de Dados
      - POSTGRES_PASSWORD=SUASENHA # Senha do Banco de Dados
    networks:
      - evolutionapi_2
    volumes:
      - evo_postgres_data:/var/lib/postgresql/data

  evo_redis:
    image: redis:latest
    restart: always
    volumes:
      - evo_redis:/data
    command: redis-server
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
    networks:
      - evolutionapi_2

  evo_minio:
    image: quay.io/minio/minio:RELEASE.2025-03-12T18-04-18Z
    restart: always
    command: server /data --console-address ":9001"
    networks:
      - evolutionapi_2
    volumes:
      - evo_minio_data:/data
    environment:
      - MINIO_ROOT_USER=admin # Usuári MinIO
      - MINIO_ROOT_PASSWORD=SUASENHA # Senha MinIO
      - MINIO_BROWSER_REDIRECT_URL=https://storageevo.SEUSITE.XPTO # URL Storage Minio
      - MINIO_SERVER_URL=https://s3evo.SEUSITE.XPTO # URL Minio S3
      - MINIO_VOLUMES=/data
      - CONSOLE_MINIO_SERVER=https://s3evo.SEUSITE.XPTO # URL Minio S3
      - MINIO_OPTS=--console-address=":9001"
    labels:
      - traefik.enable=true
      - traefik.http.routers.minio_public.rule=Host(`s3evo.SEUSITE.XPTO`) # URL Minio S3
      - traefik.http.routers.minio_public.entrypoints=web,websecure
      - traefik.http.routers.minio_public.tls.certresolver=leresolver
      - traefik.http.services.minio_public.loadbalancer.server.port=9000
      - traefik.http.services.minio_public.loadbalancer.passHostHeader=true
      - traefik.http.routers.minio_public.service=minio_public


      - traefik.http.routers.minio_console.rule=Host(`storageevo.SEUSITE.XPTO`) # URL Storage Minio
      - traefik.http.routers.minio_console.entrypoints=web,websecure
      - traefik.http.routers.minio_console.tls.certresolver=leresolver
      - traefik.http.services.minio_console.loadbalancer.server.port=9001
      - traefik.http.services.minio_console.loadbalancer.passHostHeader=true
      - traefik.http.routers.minio_console.service=minio_console
  
  rabbitmq:
    image: rabbitmq:management
    restart: always
    command: rabbitmq-server
    networks:
      - evolutionapi_2
    hostname: rabbitmq
    volumes:
      - evo_rabbitmq_data:/var/lib/rabbitmq
    environment:
      - RABBITMQ_ERLANG_COOKIE=c2d0f7a87b1e4f9a926d3ac94be16eaf92ccba15d61e3a748e2e58d64e7709fd
      - RABBITMQ_DEFAULT_VHOST=rabbitmq
      - RABBITMQ_DEFAULT_USER=USUARIO # Usuário RabbitMQ
      - RABBITMQ_DEFAULT_PASS=SUASENHA # Senha RabbitMQ
    labels:
      - traefik.enable=true
      - traefik.http.routers.rabbitmq.rule=Host(`evorabbit.SEUSITE.XPTO`)  # URL RabbitMQ
      - traefik.http.routers.rabbitmq.entrypoints=web,websecure
      - traefik.http.routers.rabbitmq.tls.certresolver=leresolver
      - traefik.http.routers.rabbitmq.service=rabbitmq
      - traefik.http.services.rabbitmq.loadbalancer.server.port=15672

volumes:
  evo_rabbitmq_data:
  evo_minio_data:
  evo_redis:
  evolution_instances:
  evo_postgres_data:

networks:
  evolutionapi_2:
    external: true

Faça as configurações conforme eu oriento no vídeo da aula e depois clique no botão “Deploy Stack” e aguarde a finalização.

Uma vez finalizado, aguarde uns 30 segundos e acesse no seu navegador o site https://evolutionapi.seusite.xxx/manager (troque pelo seu domínio).

Agora basta logar com sua API Key e conectar sua instância.

Seja feliz =)

Receba nossos conteúdos de marketing digital em primeira mão 😀

Não fazemos spam! Leia nossa política de privacidade para mais informações.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima