Atualização API Evolution com Postgres Versão 2.0

Passo 1

Antes de começarmos a configuração da Evolution API, é essencial garantir um desempenho ótimo e tempo de resposta rápido. Recomendamos contratar um servidor VPS, de preferência localizado no Brasil, para otimizar a experiência. Abaixo, fornecemos um link para contratação, juntamente com nosso suporte para auxiliá-lo durante o processo.

Pré-requisitos:

Passo 2

Configurando a Stack da Evolution API Versão 2.0

Antes de subir sua stack é preciso criar um banco de dados no Postgres, conforme o passa-a-passo logo abaixo:

  1.  Acesse a Stack do Postgres
Capa-Instalação-Portainer-Criando-Banco-de-Dados-Chatwoot

2. Acesse o terminal do postgres:

  • Em User: Em vez de “root” acesse com “postgres”
  • Dentro do terminal digite os comandos abaixo:
				
					psql
				
			
				
					CREATE DATABASE evolution2;
				
			

3. Configure e faça upload sua Stack.

Clique em Stack no menu lateral e depois em + Add Stack no menu superior do lado direito.

Subindo-Stack-Portainer-Traefik
				
					version: "3.8"

services:
  evolution_api_v2_data:
    image: evoapicloud/evolution-api:v2.3.0
    volumes:
      - evolution_api_v2_data:/evolution/instances
    networks:
      - traefik_public
      - digital_network
    environment:
      - SERVER_URL=https://seusite.dominio.com.br  #tenção
      - DEL_INSTANCE=false
      - DATABASE_PROVIDER=postgresql
      - DATABASE_CONNECTION_URI=postgresql://postgres:<suasenha>@postgres:5432/evolution2 #atenção
      - DATABASE_SAVE_DATA_INSTANCE=true
      - DATABASE_SAVE_DATA_NEW_MESSAGE=true
      - DATABASE_SAVE_MESSAGE_UPDATE=true
      - DATABASE_SAVE_DATA_CONTACTS=true
      - DATABASE_SAVE_DATA_CHATS=true
      - DATABASE_SAVE_DATA_LABELS=true
      - DATABASE_SAVE_DATA_HISTORIC=true
      - DATABASE_CONNECTION_CLIENT_NAME=evolution_api_v2
      ## Sobre o QR-Code
      - QRCODE_LIMIT=1902
      - QRCODE_COLOR=#000000
      #Rabbitmq
      - RABBITMQ_ENABLED=false
      - RABBITMQ_URI=amqp://admin:admin@rabbitmq:5672/default
      - RABBITMQ_EXCHANGE_NAME=evolution_api_v2
      - RABBITMQ_GLOBAL_ENABLED=false
      - RABBITMQ_EVENTS_APPLICATION_STARTUP=false
      - RABBITMQ_EVENTS_INSTANCE_CREATE=false
      - RABBITMQ_EVENTS_INSTANCE_DELETE=false
      - RABBITMQ_EVENTS_QRCODE_UPDATED=false
      - RABBITMQ_EVENTS_MESSAGES_SET=false
      - RABBITMQ_EVENTS_MESSAGES_UPSERT=true
      - RABBITMQ_EVENTS_MESSAGES_EDITED=false
      - RABBITMQ_EVENTS_MESSAGES_UPDATE=false
      - RABBITMQ_EVENTS_MESSAGES_DELETE=false
      - RABBITMQ_EVENTS_SEND_MESSAGE=false
      - RABBITMQ_EVENTS_CONTACTS_SET=false
      - RABBITMQ_EVENTS_CONTACTS_UPSERT=false
      - RABBITMQ_EVENTS_CONTACTS_UPDATE=false
      - RABBITMQ_EVENTS_PRESENCE_UPDATE=false
      - RABBITMQ_EVENTS_CHATS_SET=false
      - RABBITMQ_EVENTS_CHATS_UPSERT=false
      - RABBITMQ_EVENTS_CHATS_UPDATE=false
      - RABBITMQ_EVENTS_CHATS_DELETE=false
      - RABBITMQ_EVENTS_GROUPS_UPSERT=false
      - RABBITMQ_EVENTS_GROUP_UPDATE=false
      - RABBITMQ_EVENTS_GROUP_PARTICIPANTS_UPDATE=false
      - RABBITMQ_EVENTS_CONNECTION_UPDATE=true
      - RABBITMQ_EVENTS_CALL=false
      - RABBITMQ_EVENTS_TYPEBOT_START=false
      - RABBITMQ_EVENTS_TYPEBOT_CHANGE_STATUS=false
      #SqS
      - SQS_ENABLED=false
      - SQS_ACCESS_KEY_ID=
      - SQS_SECRET_ACCESS_KEY=
      - SQS_ACCOUNT_ID=
      - SQS_REGION=
      - WEBSOCKET_ENABLED=false
      - WEBSOCKET_GLOBAL_EVENTS=false
      - WA_BUSINESS_TOKEN_WEBHOOK=evolution
      - WA_BUSINESS_URL=https://graph.facebook.com
      - WA_BUSINESS_VERSION=v20.0
      - WA_BUSINESS_LANGUAGE=en_US
      #Webhook
      - WEBHOOK_GLOBAL_URL=''
      - WEBHOOK_GLOBAL_ENABLED=false
      - WEBHOOK_GLOBAL_WEBHOOK_BY_EVENTS=false
      - WEBHOOK_EVENTS_APPLICATION_STARTUP=false
      - WEBHOOK_EVENTS_QRCODE_UPDATED=true
      - WEBHOOK_EVENTS_MESSAGES_SET=true
      - WEBHOOK_EVENTS_MESSAGES_UPSERT=true
      - WEBHOOK_EVENTS_MESSAGES_EDITED=true
      - WEBHOOK_EVENTS_MESSAGES_UPDATE=true
      - WEBHOOK_EVENTS_MESSAGES_DELETE=true
      - WEBHOOK_EVENTS_SEND_MESSAGE=true
      - WEBHOOK_EVENTS_CONTACTS_SET=true
      - WEBHOOK_EVENTS_CONTACTS_UPSERT=true
      - WEBHOOK_EVENTS_CONTACTS_UPDATE=true
      - WEBHOOK_EVENTS_PRESENCE_UPDATE=true
      - WEBHOOK_EVENTS_CHATS_SET=true
      - WEBHOOK_EVENTS_CHATS_UPSERT=true
      - WEBHOOK_EVENTS_CHATS_UPDATE=true
      - WEBHOOK_EVENTS_CHATS_DELETE=true
      - WEBHOOK_EVENTS_GROUPS_UPSERT=true
      - WEBHOOK_EVENTS_GROUPS_UPDATE=true
      - WEBHOOK_EVENTS_GROUP_PARTICIPANTS_UPDATE=true
      - WEBHOOK_EVENTS_CONNECTION_UPDATE=true
      - WEBHOOK_EVENTS_LABELS_EDIT=true
      - WEBHOOK_EVENTS_LABELS_ASSOCIATION=true
      - WEBHOOK_EVENTS_CALL=true
      - WEBHOOK_EVENTS_TYPEBOT_START=true
      - WEBHOOK_EVENTS_TYPEBOT_CHANGE_STATUS=true
      - WEBHOOK_EVENTS_ERRORS=false
      - WEBHOOK_EVENTS_ERRORS_WEBHOOK=false
      - CONFIG_SESSION_PHONE_CLIENT=EvolutionAPIV2
      - CONFIG_SESSION_PHONE_NAME=Chrome
      - CONFIG_SESSION_PHONE_VERSION=2.3000.1023204200 #acompanhe a codumentção oficial se não gerar o qrcode
      - QRCODE_LIMIT=999
      #Openai
      - OPENAI_ENABLED=true
      #Dify
      - DIFY_ENABLED=true
      #Typebot
      - TYPEBOT_ENABLED=true
      - TYPEBOT_API_VERSION=v2.27.0 #atenção
      #Chatwoot
      - CHATWOOT_ENABLED=true
      - CHATWOOT_MESSAGE_READ=true
      - CHATWOOT_MESSAGE_DELETE=true
      - CHATWOOT_IMPORT_DATABASE_CONNECTION_URI=postgresql://postgres:<suasenha>@postgres:5432/chatwoot?sslmode=disable #atenção
      - CHATWOOT_IMPORT_PLACEHOLDER_MEDIA_MESSAGE=true
      #redis
      - CACHE_REDIS_ENABLED=true
      - CACHE_REDIS_URI=redis://redis:6379/6
      - CACHE_REDIS_PREFIX_KEY=evolution_api_v2
      - CACHE_REDIS_SAVE_INSTANCES=false
      - CACHE_LOCAL_ENABLED=false
      #Minio
      - S3_ENABLED=true
      - S3_ACCESS_KEY=<suasenha> #atenção
      - S3_SECRET_KEY=<suasenha> #atenção
      - S3_BUCKET=evolution2
      - S3_PORT=443
      - S3_ENDPOINT=<dominio_do_servidor> #atenção
      - S3_USE_SSL=true
      - AUTHENTICATION_API_KEY=<suasenha> #atenção
      - AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES=true
      - LANGUAGE=en
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints:
          - node.role == manager
      labels:
        - traefik.enable=true
        - traefik.http.routers.evolution_api_v2.rule=Host(`seusite.digitalinterativo.com.br`) #atenção
        - traefik.http.routers.evolution_api_v2.entrypoints=websecure
        - traefik.http.routers.evolution_api_v2.tls.certresolver=le
        - traefik.http.routers.evolution_api_v2.priority=1
        - traefik.http.routers.evolution_api_v2.service=evolution_api_v2
        - traefik.http.services.evolution_api_v2.loadbalancer.server.port=8080
        - traefik.http.services.evolution_api_v2.loadbalancer.passHostHeader=true

volumes:
  evolution_api_v2_data:
    external: true
    name: evolution_api_v2_data

networks:
  traefik_public:
    external: true
  digital_network:
    external: true
				
			
Use o link abaixo para gerar a senha de 32 caracteres conforme mencionado no vídeo.
COMPARTILHAR