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:
- Acesse a Stack do Postgres
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.
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:@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:@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= #atenção
- S3_SECRET_KEY= #atenção
- S3_BUCKET=evolution2
- S3_PORT=443
- S3_ENDPOINT= #atenção
- S3_USE_SSL=true
- AUTHENTICATION_API_KEY= #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


