Instalando o Typebot em uma VPS para Desenvolver Chatbots Personalizados

Configure o Typebot em sua VPS para desenvolver chatbots profissionais com fluxos interativos, sem depender de terceiros ou ferramentas limitadas.

Instalando o Typebot em uma VPS para Desenvolver Chatbots Personalizados

Olá meus Unicórnios! 🦄✨

Existem muitas ferramentas para criar Chatboot e o Typebot se destacada pela sua facilidade de utilização, e uma versão self-host totalmente gratuita!

Se você já utilizou ferramentas pagas, sabe que são super limitadas, o próprio Typebots, em seu plano inicial, se limita a 2000 conversar por mês, parece muito, mas esta quantidade se atinge rapidamente em um E-Commerce:

Uma outra ferramenta muito conhecida, o Sendpulse, que possui um sistema de chatbots muito similar ao Typebots, que já utilizei e gostei bastante, em seu plano inicial, se limita a 500 conversas:

Sim, isto mesmo, só 500 conversas em toda a vida de seu site.

Um E-Commerce atinge esta quantidade em dias.

Mas o que fazer para não termos nenhum Limite?

O Typebot tem uma versão self-host totalmente gratuita, onde não existem limites! ✨✨

Iremos instalar ela em uma VPS com Ubuntu, que você pode contratar em qualquer hospedagem, como por exemplo, a Kinghost:

Configure seu servidor com liberdade, autonomia e tenha muito mais segurança. Conheça os planos Windows e Linux!
Configure seu servidor com liberdade, autonomia e tenha muito mais segurança. Conheça os planos Windows e Linux!

Ou também, você pode instalar em uma instancia EC2 da AWS

Elastic Compute Cloud - Amazon EC2 - AWS
Conheça Amazon Elastic Compute Cloud (Amazon EC2), um serviço web que disponibiliza capacidade computacional segura e redimensionável na nuvem. Ele foi criado para facilitar para os desenvolvedores na computação em nuvem na escala da web.

Instalando o Typebot

Iremos aproveitar a VPS que utilizamos no Tutorial da Evolution API, para aproveitar o mesmo servidor, e a mesma instalação do postgres e do redis:

Evolution API: Instale uma API Não Oficial do WhatsApp em sua VPS e Automatize o Envio de Mensagens
Instale a Evolution API no Docker da sua VPS e envie mensagens no WhatsApp com uma API não oficial

Crie uma base de dados, no postgres para o typebot:

sudo docker exec -it postgres psql -U user -d utilitarios -c "CREATE DATABASE typebot;"

Crie uma pasta "typebot" e entre nela:

mkdir typebot
cd typebot

Crie o "docker-compose.yaml":

nano docker-compose.yaml

Preencha com o conteúdo abaixo:

services:
  typebot_builder:
    container_name: typebot_builder
    restart: always
    networks:
      - typebot-net
      - utilitarios-net
    image: baptistearno/typebot-builder:latest
    ports:
      - "8090:3000"
    env_file: .env

  typebot_viewer:
    container_name: typebot_viewer
    restart: always
    networks:
      - typebot-net
      - utilitarios-net
    image: baptistearno/typebot-viewer:latest
    ports:
      - "8091:3000"
    env_file: .env

networks:
  typebot-net:
    name: typebot-net
    driver: bridge
  utilitarios-net:
    external: true 

Observe que serão criados dois endpoints:

Typebot Builder

Na porta 8090 será exposto o painel de criação de Chatbots

Typebot Viewer

Na porta 8091 será exposto o visualizador de ChatBoots

Agora iremos criar nosso arquivo ".env" com todas as configurações da aplicação:

nano .env

Preencha com o conteúdo abaixo:

ENCRYPTION_SECRET=do+UspMmB/rewbX2K/rskFmtgGSSZ8Ta

DATABASE_URL=postgresql://user:pass@postgres:5432/typebot?schema=public
REDIS_URL=redis://redis:6379/6

NODE_OPTIONS=--no-node-snapshot

NEXTAUTH_URL=http://192.168.20.155:8090
NEXT_PUBLIC_VIEWER_URL=http://192.168.20.155:8091

[email protected]

SMTP_USERNAME=XXXXXXXXXXXXXX
SMTP_PASSWORD=XXXXXXXXXXXXXX
SMTP_HOST=sandbox.smtp.mailtrap.io
SMTP_PORT=2525
NEXT_PUBLIC_SMTP_FROM=teste <[email protected]>
SMTP_SECURE=false
SMTP_AUTH_DISABLED=false

DISABLE_SIGNUP=false

DEBUG=true

Nestas configurações, temos que configurar alguns detalhes:

ENCRYPTION_SECRET

Chave de criptografia, que é utilizada nos dados sensíveis, podes gerar uma nova chave através do comando abaixo:

openssl rand -base64 24 | tr -d '\n' ; echo

NEXTAUTH_URL

NEXT_PUBLIC_VIEWER_URL

Altere para o IP de sua VPS, no meu caso, como o IP é "192.168.20.155", as configurações ficaram:

NEXTAUTH_URL=http://192.168.20.155:8090/
NEXT_PUBLIC_VIEWER_URL=http://192.168.20.155:8091/

SMTP

O Typebot não possui senha para acesso, ele utiliza um MagicLink, então é necessário um SMTP válido.

Caso você não queira configurar um smtp, pode utilizar o Mailtrap conforme o tutorial abaixo:

Como Testar o Envio de E-mails via SMTP?
Descubra como usar o Mailtrap para simular o envio de e-mails SMTP sem precisar de um servidor real

Temos nosso "docker-compose.yaml' e nosso ".env", vamos subir o Compose:

sudo docker-compose up -d

Quando a instalação for completada, será exibido "done" em tudo:

Para testar, acesse o IP de sua VPS com a porta "8090", que no meu caso é:

http://192.168.20.155:8090/

Na primeira vez que você entrar, se cadastre com o mesmo e-mail que você preencheu no campo "ADMIN_EMAIL" do ".env" para que o cadastro receba o plano "Unlimited".

Criando um Bot Simples

Para demonstrar o funcionamento, iremos criar um Bot simples, que independente do que for preenchido pelo usuário, será respondido "Teste de Bot".

Clique em "Create a typebot":

Clique em "Start From scretch":

Clique no nome "My typebot" e defina o nome do seu Bot:

Observe que existe um gatilho chamado "Start", este gatilho é disparado quando o bot é iniciado:

Mova um "Bubble" de "Text" para a área de tabalho e preencha o texto como "Teste de Bot", isto ira gerar uma resposta ao usuário:

Agora, conecte o gatilho "Start" ao "Group #1":

Finalizamos nosso Bot de Teste.

Clique em "Publish" para tornar público o Bot:

Observe que o Link do bot, começa pela url que preenchemos no "NEXT_PUBLIC_VIEWER_URL" de nosso ".env":

Ao acessar o Bot, a mensagem que configuramos é exibida:

http://192.168.20.155:8091/teste1-y9br8h6

Por hoje é só, meus unicórnios! 🦄✨

Que a magia do arco-íris continue brilhando em suas vidas! Até mais! 🌈🌟