Como instalar o Typebot em Docker com PostgreSQL e configurar no painel ICP

Como instalar o Typebot em Docker com PostgreSQL e configurar no painel ICP

Se você quer criar chatbots profissionais com total controle, sem depender de plataformas pagas e com liberdade total de hospedagem, o Typebot é uma das melhores opções open source disponíveis atualmente.

Neste guia completo, você vai aprender como instalar o Typebot com Docker, integrar com PostgreSQL, configurar domínio com SSL e ativar autenticação por e-mail — tudo rodando em um VPS com painel ICP.

Ao final, você terá um ambiente pronto para produção, seguro e totalmente funcional.

📌 Pré-requisitos

Antes de começar, você precisa ter:

- Um servidor Linux com Docker e Docker Compose instalados
- Um banco PostgreSQL criado e acessível
- Um domínio ou subdomínios apontando para o servidor
- Um servidor SMTP válido para envio de e-mails
- Nginx ou OpenResty configurado para proxy reverso com SSL

Esses itens são essenciais para que o Typebot funcione corretamente em ambiente de produção, tenho tudo isso já configurado com o Painel ICP

💡 Quer fazer isso em poucos cliques?

Com o Painel ICP da Integrator Host, você instala aplicações como Typebot, Chatwoot, n8n, OpenClaw, EvoApi e muito mais com domínio e SSL automático.

👉 Conheça: https://integrator.com.br


📌 Passo 1: Crie uma pasta chamada "typebot" utilizando o Gerenciador de Arquivos do painel ICP.

📌 Passo 2: Agora vamos baixar o repositório oficial do Typebot.

Execute os comandos abaixo no terminal para realizar o download e acessar a pasta do projeto:

git clone https://github.com/baptisteArno/typebot.io.git
cd typebot.io
cp .env.example .env

Como fazer isso no painel ICP

Acesse o terminal do servidor pelo painel ICP, conforme demonstrado na imagem abaixo:

📌 Passo 3: Configurar o arquivo .env do Typebot

Com o repositório já baixado, o próximo passo é configurar o arquivo .env, responsável pelas variáveis de ambiente do sistema.

Antes de criar esse arquivo, precisamos gerar uma chave de criptografia que será utilizada pelo Typebot para proteger dados sensíveis.

a. Gerando a chave de segurança (ENCRYPTION_SECRET)

Execute o comando abaixo no seu computador ou diretamente no servidor:

openssl rand -hex 16

Esse comando irá gerar uma chave com exatamente 32 caracteres, que deverá ser utilizada no campo ENCRYPTION_SECRET do arquivo .env. 

b. Criar um banco de dados PostgreSQL

Crie um banco de dados PostgreSQL que será utilizado pelo Typebot para armazenar todas as informações do sistema.

Para instruções detalhadas, acesse nosso guia completo:
https://wiki.icontainer.run/pt-br/banco-de-dados-postgresql

c. Com a chave de criptografia (ENCRYPTION_SECRET) gerada e os dados de acesso ao banco PostgreSQL em mãos, já podemos configurar o arquivo .env do Typebot.

Exemplo do arquivo .ENV

ENCRYPTION_SECRET=d40cf14dc9754b6c245d0a0e7c60ffc4

DATABASE_URL=postgresql://typebot:SENHA@IP:5432/typebot

NODE_OPTIONS=--no-node-snapshot

NEXTAUTH_URL=https://typebot.panel-icp.integrator.host
NEXT_PUBLIC_VIEWER_URL=https://bot.panel-icp.integrator.host

ADMIN_EMAIL=email@dominio.com.br

DISABLE_SIGNUP=false
TYPEBOT_DEBUG=true

SMTP_HOST=mail.dominio.com.br
SMTP_PORT=587
SMTP_USERNAME=email@domoniio.com.br
SMTP_PASSWORD=senha
NEXT_PUBLIC_SMTP_FROM="Typebot <email@dominio.com.br>"
SMTP_SECURE=false

📌 Passo 4: Subir os containers Docker pelo painel ICP
Agora vamos iniciar o Typebot utilizando Docker diretamente pelo painel ICP.

Se todas as etapas anteriores foram executadas corretamente, o ambiente estará funcionando e você verá uma tela semelhante à imagem abaixo:


📌 Passo 5: Configurar domínio com SSL pelo painel ICP

Para acessar o Typebot com segurança, é necessário configurar um domínio com certificado SSL.

Vamos realizar essa configuração utilizando o painel ICP, de forma simples e rápida.


📌 Passo 6: Acessar o sistema e criar o primeiro acesso

Após configurar o domínio com SSL, acesse o endereço no seu navegador.

Em seguida, informe seu e-mail para criar o primeiro acesso ao Typebot. Um link de login será enviado para o e-mail informado.