Comoinstalar
Instalar Typebot mesma VPS WHAZING
Tutorial com muitos detalhes então preste bastante atenção e veja o video que me baseado pra fazer o mesmo, para ajudar entender melhor os passos. Lembrando no video ele usa traefik e alteramos usar nginx para ser compativel mesma vps whazing
Baseado tutorial alterado para usar com ngnix: https://rwebtec.com.br/instalar-typebot-portainer-lucrar-vendendo-assinaturas/
CRIAR SUBDOMINIO E APONTAR PARA O IP DA SUA VPS
Exemplo: chatbot.webconfiavel.com.br chatbotapi.webconfiavel.com.br minios3.webconfiavel.com.br s3.webconfiavel.com.br
CHECAR PROPAGAÇÃO DO DOMÍNIO
https://dnschecker.org/
Acesso Portainer
Acesse URL do Portainer: http://seuip:9000/
Caso seja primeira vez tem que gerar senha conforme instruções abaixo
Acesso Portainer gerar senha
"Your Portainer instance timed out for security purposes. To re-enable your Portainer instance, you will need to restart Portainer."
Executar no terminal
docker container restart portainer
Depois acesse novamente url http://seuip:9000/
Continuando
Vai "Home" - "Live Connect" - "Stacks" - "Add Stack"
Name - postgresql-typebot
Web editor - Coloque conteudo abaixo
version: "3.7"
services:
postgres:
container_name: postgresqltypebot
image: postgres:latest
restart: always
environment:
- POSTGRES_PASSWORD=Admin33Admin77
networks:
- typebot_rede
#ports:
# - 5432:5432
volumes:
- postgres_typebot:/var/lib/postgresql/data
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
resources:
limits:
cpus: "0.5"
memory: 1024M
volumes:
postgres_typebot:
external: false
name: postgres_typebot
networks:
typebot_rede:
external: false
name: typebot_rede
Clique em Deploy the stack - Aguarde demora um pouco
Vai "Home" - "Live Connect" - "Stacks" - "Add Stack"
Name - minio-typebot
Web editor - Coloque conteudo abaixo
version: "3.7"
services:
minio:
container_name: miniotypebot
image: minio/minio
restart: always
command: server /data --console-address ":9001"
networks:
- typebot_rede
ports:
- 32771:9000
- 32772:9001
volumes:
- minio_data:/data
environment:
- MINIO_ROOT_USER=rodnei
- MINIO_ROOT_PASSWORD=Admin33Admin77
- MINIO_BROWSER_REDIRECT_URL=https://minios3.webconfiavel.com.br
- MINIO_SERVER_URL=https://s3.webconfiavel.com.br
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
volumes:
minio_data:
external: false
name: minio_data
networks:
typebot_rede:
external: false
name: typebot_rede
. Criar e editar o arquivo minioweb com o comando abaixo e prencher com os dados do proximo item
sudo nano /etc/nginx/sites-available/minioweb
. Editar os dados abaixo com a URL que será usada para acessar o minio browser.
server {
server_name minios3.webconfiavel.com.br;
location / {
proxy_pass http://127.0.0.1:32772;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache_bypass $http_upgrade;
}
}
. Criar link simbólico para o arquivo minioweb
sudo ln -s /etc/nginx/sites-available/minioweb /etc/nginx/sites-enabled/
. Criar e editar o arquivo minioweb com o comando abaixo e prencher com os dados do proximo item
sudo nano /etc/nginx/sites-available/minioapi
. Editar os dados abaixo com a URL que será usada para acessar o minio api.
server {
server_name s3.webconfiavel.com.br;
location / {
proxy_pass http://127.0.0.1:32771;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache_bypass $http_upgrade;
}
}
. Criar link simbólico para o arquivo minioapi
sudo ln -s /etc/nginx/sites-available/minioapi /etc/nginx/sites-enabled/
. Testar as configurações do nginx
sudo nginx -t
. Restartar o nginx
sudo service nginx restart
. Gerar certificado
sudo certbot --nginx
. Agora acesse url minio "minios3.webconfiavel.com.br" - MINIO_ROOT_USER=rodnei - MINIO_ROOT_PASSWORD=Admin33Admin77
Dentro do minio siga instruções abaixo
Buckets -
Bucket Name - typebot
Create Bucket
Clica bucket criado typebot alterar "Access Policy" Public
Access Keys - Create Access Key
Copia o Access Key - Secret Key
Agora vamos voltar Portainer - "Stacks" - "Add Stack" - typebot_viewer
Web editor - Coloque conteudo abaixo - alterar com dados email etc para funcionar - no campos S3 vai colocar dados que você gerou acima
version: "3.7"
services:
typebot_viewer:
container_name: typebotviewer
image: baptistearno/typebot-viewer:latest
restart: always
networks:
- typebot_rede
ports:
- 8081:3000
environment:
- DATABASE_URL=postgresql://postgres:Admin33Admin77@postgres:5432/postgres
- ENCRYPTION_SECRET=7Rl2NKGhkMUHRV0dtRg8hD2YNopCrAeH
- DEFAULT_WORKSPACE_PLAN=UNLIMITED
- NEXTAUTH_URL=https://chatbot.webconfiavel.com.br
- NEXT_PUBLIC_VIEWER_URL=https://chatbotapi.webconfiavel.com.br
- NEXTAUTH_URL_INTERNAL=http://localhost:3000
- DISABLE_SIGNUP=true
- [email protected]
- NEXT_PUBLIC_SMTP_FROM='RWeb Tec' <[email protected]>
- SMTP_AUTH_DISABLED=false
- [email protected]
- SMTP_PASSWORD=pfuvqidfkyhtaxtx
- SMTP_HOST=smtp.gmail.com
- SMTP_PORT=465
- SMTP_SECURE=false
# Configurações do Typebot e Google Cloud
#- GOOGLE_CLIENT_ID=
#- GOOGLE_CLIENT_SECRET=
# Configurações do Typebot e Minio
- S3_ACCESS_KEY=0euO7HOE7NTM6PmS6loK
- S3_SECRET_KEY=kGED9FHLuBFYLzFGwRkHy1SLAh7oSuKcfXzCfeyt
- S3_BUCKET=typebot
- S3_ENDPOINT=s3.webconfiavel.com.br
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
resources:
limits:
cpus: "1"
memory: 1024M
networks:
typebot_rede:
external: false
name: typebot_rede
Agora vamos voltar Portainer - "Stacks" - "Add Stack" - typebot_builder
Web editor - Coloque conteudo abaixo - alterar com dados email, semelhante o que você fez antes etc para funcionar - no campos S3 vai colocar dados que você gerou acima
version: "3.7"
services:
typebot_builder:
container_name: typebotbuilder
image: baptistearno/typebot-builder:latest
restart: always
networks:
- typebot_rede
ports:
- 8080:3000
environment:
- DATABASE_URL=postgresql://postgres:Admin33Admin77@postgres:5432/postgres
- ENCRYPTION_SECRET=7Rl2NKGhkMUHRV0dtRg8hD2YNopCrAeH
- DEFAULT_WORKSPACE_PLAN=UNLIMITED
- NEXTAUTH_URL=https://chatbot.webconfiavel.com.br
- NEXT_PUBLIC_VIEWER_URL=https://chatbotapi.webconfiavel.com.br
- NEXTAUTH_URL_INTERNAL=http://localhost:3000
- DISABLE_SIGNUP=true
- [email protected]
- NEXT_PUBLIC_SMTP_FROM='RWeb Tec' <[email protected]>
- SMTP_AUTH_DISABLED=false
- [email protected]
- SMTP_PASSWORD=pfuvqidfkyhtaxtx
- SMTP_HOST=smtp.gmail.com
- SMTP_PORT=465
- SMTP_SECURE=false
# Configurações do Typebot e Google Cloud
#- GOOGLE_CLIENT_ID=
#- GOOGLE_CLIENT_SECRET=
# Configurações do Typebot e Minio
- S3_ACCESS_KEY=0euO7HOE7NTM6PmS6loK
- S3_SECRET_KEY=kGED9FHLuBFYLzFGwRkHy1SLAh7oSuKcfXzCfeyt
- S3_BUCKET=typebot
- S3_ENDPOINT=s3.webconfiavel.com.br
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
resources:
limits:
cpus: "1"
memory: 1024M
networks:
typebot_rede:
external: false
name: typebot_rede
. Criar e editar o arquivo typebotviewer com o comando abaixo e prencher com os dados do proximo item
sudo nano /etc/nginx/sites-available/typebotviewer
. Editar os dados abaixo com a URL que será usada para acessar o minio browser.
server {
server_name chatbot.webconfiavel.com.br;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache_bypass $http_upgrade;
}
}
. Criar link simbólico para o arquivo minioweb
sudo ln -s /etc/nginx/sites-available/typebotviewer /etc/nginx/sites-enabled/
. Criar e editar o arquivo minioweb com o comando abaixo e prencher com os dados do proximo item
sudo nano /etc/nginx/sites-available/typebotbuilder
. Editar os dados abaixo com a URL que será usada para acessar o minio api.
server {
server_name chatbotapi.webconfiavel.com.br;
location / {
proxy_pass http://127.0.0.1:8081;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache_bypass $http_upgrade;
}
}
. Criar link simbólico para o arquivo minioapi
sudo ln -s /etc/nginx/sites-available/typebotbuilder /etc/nginx/sites-enabled/
. Testar as configurações do nginx
sudo nginx -t
. Restartar o nginx
sudo service nginx restart
. Gerar certificado
sudo certbot --nginx
Você tera liberar rede nova no firewall no ponteiner acesse Network - vai ter rede typebot_rede copie coluna IPV4 vai ter valor parecido 172.18.0.0/16 com essa informacao coloque comando abaixo
Comando digitar terminal altere conforme dados acima
sudo iptables -t nat -A POSTROUTING ! -o docker0 -s 172.18.0.0/16 -j MASQUERADE
Criar pasta para um script executar comando inicializacao
sudo mkdir /etc/iptables
Criar um script executar comando inicializacao
sudo nano /etc/iptables/rules.sh
crie arquivo como exemplo abaixo coloque todas linhas necessarias pode ter mais de uma se tiver varios doccker como exemplo abaixo
#!/bin/bash
# Regras NAT
iptables -t nat -A POSTROUTING ! -o docker0 -s 172.17.0.0/16 -j MASQUERADE
iptables -t nat -A POSTROUTING ! -o docker0 -s 172.18.0.0/16 -j MASQUERADE
iptables -t nat -A POSTROUTING ! -o docker0 -s 172.19.0.0/16 -j MASQUERADE
iptables -t nat -A POSTROUTING ! -o docker0 -s 172.20.0.0/16 -j MASQUERADE
tornar arquivo executavel
sudo chmod +x /etc/iptables/rules.sh
Executar script
sudo /etc/iptables/rules.sh
Configurar o Script para Executar na Inicialização
sudo nano /etc/rc.local
Adiciona no rc.local como exemplo
#!/bin/bash
sudo /etc/iptables/rules.sh
tonar executavel
sudo chmod +x /etc/rc.local
vericar status rc.local
sudo systemctl status rc-local
Caso nao tenha rc.local ativado verificar abaixo. https://www.lw92.me/index.php/archives/550
create a systemd service
sudo nano /etc/systemd/system/rc-local.service
Colocar dados abaixo no arquivo acima
[Unit]
Description=Local Startup Script
[Service]
Type=simple
ExecStart=/etc/rc.local
[Install]
WantedBy=multi-user.target
Tornar executavel
sudo chmod 644 /etc/systemd/system/rc-local.service
Ativar
sudo systemctl enable rc-local.service
Iniciar
sudo systemctl start rc-local.service
Verificar Status
sudo systemctl status rc-local.service
Errei ou quero alterar algo so alterar dados na stack na opcao editor e escolher update stack
Atualizado