Como Instalar Tiledesk na VPS: Chatbots e Suporte

10 min de leitura VPS e Infraestrutura
Como Instalar Tiledesk na VPS: Chatbots e Suporte

Guia Completo: Instalar Tiledesk VPS para Automação de Atendimento

Na era da comunicação digital, a velocidade e a personalização do atendimento ao cliente são diferenciais críticos. Para empresas que buscam soberania de dados, controle total sobre a infraestrutura e flexibilidade tecnológica, a solução helpdesk self-hosted surge como a alternativa robusta aos softwares SaaS padronizados. O Tiledesk é uma plataforma open source que combina chatbots inteligentes com atendimento humano em tempo real, permitindo criar experiências de suporte omnichannel sem depender de provedores externos.

Instalar o Tiledesk em um servidor próprio (VPS ou Dedicated) exige uma configuração cuidadosa para garantir performance, segurança e escalabilidade. Este tutorial técnico guia você através do processo de instalação utilizando Docker Compose, a metodologia padrão da indústria para orquestrar os múltiplos serviços que compõem a arquitetura do Tiledesk.

Ao final deste guia, você terá um ambiente de produção funcional, capaz de gerenciar conversas via WhatsApp, Messenger, Instagram e seu próprio site, tudo rodando em sua infraestrutura cloud.

Pré-requisitos de Infraestrutura

Antes de iniciar a instalação, é fundamental garantir que o servidor atenda aos requisitos mínimos para processar as requisições simultâneas do motor de conversas e do banco de dados. O Tiledesk é composto por vários microsserviços (Node.js, MongoDB, Redis, API Gateway), portanto, recursos limitados podem comprometer a latência.

Recomendamos o seguinte hardware mínimo para um ambiente de produção estável:

  • CPU: 2 vCPUs ou superior (arquitetura x86_64)
  • RAM: 4 GB (mínimo absoluto), 8 GB recomendado para alta concorrência
  • Armazenamento: 40 GB SSD (os logs e dados do MongoDB crescem com o tempo)
  • Sistema Operacional: Ubuntu Server 20.04 LTS ou 22.04 LTS (recomendado para melhor compatibilidade de pacotes)
  • Acesso: Root ou usuário com privilégios sudo

Além disso, você precisará de um domínio apontando para o IP do seu servidor e os registros DNS configurados corretamente (A Record) para permitir a configuração do certificado SSL via Let's Encrypt posteriormente.

Passo 1: Preparação do Ambiente Linux

O primeiro passo é atualizar o sistema operacional e instalar as dependências básicas necessárias para compilar bibliotecas nativas e gerenciar pacotes. Conecte-se ao seu servidor via SSH:

ssh root@seu_ip_do_servidor

Execute os comandos abaixo para atualizar o índice de pacotes e instalar ferramentas essenciais:

apt update && apt upgrade -y
apt install curl git unzip jq net-tools -y

É crucial garantir que o firewall esteja configurado. Se você estiver usando UFW (Uncomplicated Firewall), libere apenas as portas necessárias para acesso web e SSH:

ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

Passo 2: Instalação do Docker e Docker Compose

O Tiledesk roda inteiramente em contêineres Docker. A instalação manual de imagens pode ser complexa devido às dependências cruzadas entre os serviços (como a conexão entre o API Gateway e o Backend). O Docker Compose é a ferramenta ideal para definir e executar essas aplicações multi-contêiner.

Para instalar o Docker no Ubuntu, siga o script oficial recomendado pela comunidade:

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

Após a instalação, adicione seu usuário atual ao grupo docker para evitar a necessidade de usar sudo em todos os comandos (embora este tutorial use root, é uma boa prática de segurança futura):

usermod -aG docker $USER

O Docker Compose V2 agora vem integrado como um plugin do Docker. Verifique a versão instalada:

docker compose version

Se o comando acima retornar uma versão (ex: v2.x.x), você está pronto. Caso contrário, verifique se há atualizações pendentes no repositório do Docker.

Passo 3: Configuração de Variáveis de Ambiente

O Tiledesk utiliza um arquivo .env para gerenciar configurações sensíveis e parâmetros de conexão. Criar esse arquivo corretamente evita erros comuns de inicialização, especialmente relacionados ao MongoDB e às credenciais de acesso.

Crie um diretório dedicado para a instalação:

mkdir ~/tiledesk && cd ~/tiledesk

Crie o arquivo .env usando seu editor de texto preferido (nano, vim):

nano .env

Copie e cole o seguinte conteúdo, ajustando as variáveis conforme sua necessidade. **Importante:** Altere a senha do MongoDB para algo complexo e seguro.

# Configurações do Banco de Dados
MONGO_URI=mongodb://admin:senha_forte_do_mongo@mongo:27017/tiledesk?authSource=admin
MONGO_INITDB_ROOT_USERNAME=admin
MONGO_INITDB_ROOT_PASSWORD=senha_forte_do_mongo

# Configurações do Servidor
SERVER_PORT=8080
HOSTNAME=localhost # Será substituído pelo domínio depois
API_GATEWAY_HOSTNAME=http://localhost:3000
BACKEND_URL=http://backend:3000

# Chaves de Segurança (Gere uma chave forte aleatória)
JWT_SECRET=uma_chave_secreta_muito_longa_e_segura_123456789
ENCRYPTION_KEY=outra_chave_secreta_aqui_123456789

# Configurações de Email (Opcional para teste inicial)
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=seu_email@gmail.com
EMAIL_PASS=sua_senha_de_aplicativo

Salve o arquivo (Ctrl+O, Enter) e saia (Ctrl+X). A segurança do seu sistema depende diretamente da complexidade das chaves JWT_SECRET e MONGO_INITDB_ROOT_PASSWORD.

Passo 4: Criação do Arquivo Docker Compose

Agora, defina a arquitetura dos serviços. Crie o arquivo docker-compose.yml no mesmo diretório:

nano docker-compose.yml

O conteúdo abaixo orquestra os principais componentes: o Gateway (porta de entrada), o Backend (lógica do app), o MongoDB (dados) e o Worker (processamento assíncrono).

version: '3.8'

services:
  gateway:
    image: tiledesk/tiledesk-gateway:latest
    ports:
      - "3000:3000"
    environment:
      - API_GATEWAY_HOSTNAME=${API_GATEWAY_HOSTNAME}
      - BACKEND_URL=${BACKEND_URL}
      - MONGO_URI=${MONGO_URI}
      - JWT_SECRET=${JWT_SECRET}
      - ENCRYPTION_KEY=${ENCRYPTION_KEY}
    depends_on:
      - backend
      - mongo

  backend:
    image: tiledesk/tiledesk-backend:latest
    environment:
      - MONGO_URI=${MONGO_URI}
      - JWT_SECRET=${JWT_SECRET}
      - ENCRYPTION_KEY=${ENCRYPTION_KEY}
      - SERVER_PORT=3000
      - BACKEND_URL=${BACKEND_URL}
      - API_GATEWAY_HOSTNAME=${API_GATEWAY_HOSTNAME}
    depends_on:
      - mongo

  mongo:
    image: mongo:5.0
    restart: always
    environment:
      - MONGO_INITDB_ROOT_USERNAME=${MONGO_INITDB_ROOT_USERNAME}
      - MONGO_INITDB_ROOT_PASSWORD=${MONGO_INITDB_ROOT_PASSWORD}
    volumes:
      - mongodb_data:/data/db

  worker:
    image: tiledesk/tiledesk-worker:latest
    environment:
      - MONGO_URI=${MONGO_URI}
      - JWT_SECRET=${JWT_SECRET}
      - ENCRYPTION_KEY=${ENCRYPTION_KEY}
    depends_on:
      - mongo

volumes:
  mongodb_data:

Este arquivo garante que o banco de dados persista os dados em um volume Docker dedicado, evitando a perda de informações caso os contêineres sejam reiniciados. Observe a seção volumes no final do arquivo.

Passo 5: Inicialização dos Serviços

Com as configurações prontas, é hora de baixar as imagens e iniciar os contêineres. Execute o comando abaixo para construir e levantar toda a stack em segundo plano:

docker compose up -d

O processo pode levar alguns minutos dependendo da largura de banda do seu servidor, pois ele baixará as imagens base do Docker Hub. Você pode acompanhar o progresso com:

docker compose logs -f

Se a inicialização for bem-sucedida, você verá mensagens indicando que os serviços estão "Started". Verifique se todos os contêineres estão rodando:

docker ps

Você deve ver quatro contêineres ativos: tiledesk-gateway, tiledesk-backend, mongo e tiledesk-worker. Se algum estiver com status "Restarting", verifique os logs para identificar erros de configuração no arquivo .env.

Passo 6: Configuração do Nginx e SSL (Let's Encrypt)

Para acesso profissional, não utilize o IP direto ou a porta 3000. Configure um servidor Web Reverso (Nginx) para rotear o tráfego e garantir criptografia TLS/SSL.

Instale o Nginx e o Certbot:

apt install nginx certbot python3-certbot-nginx -y

Crie um arquivo de configuração no Nginx para o Tiledesk:

nano /etc/nginx/sites-available/tiledesk

Insira a seguinte configuração, substituindo seu-dominio.com pelo seu domínio real:

server {
    listen 80;
    server_name seu-dominio.com www.seu-dominio.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Habilite o site e teste a configuração:

ln -s /etc/nginx/sites-available/tiledesk /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx

Agora, obtenha o certificado SSL seguro:

certbot --nginx -d seu-dominio.com -d www.seu-dominio.com

Siga as instruções no terminal para fornecer um email e concordar com os termos. O Certbot reconfigurará automaticamente o Nginx para redirecionar HTTP para HTTPS.

Passo 7: Acesso e Criação da Conta Admin

Acesse https://seu-dominio.com no seu navegador. Você verá a tela de login do Tiledesk. Como esta é a primeira instalação, você precisará criar a conta de administrador (Super User).

  1. Clique em "Sign Up" ou "Register".
  2. Preencha os campos com nome, email e senha fortes.
  3. Confirme o cadastro através do link enviado ao seu email (verifique a pasta de spam se necessário).

Após logar, você terá acesso ao Dashboard. Aqui, você pode criar seus primeiros "Bots" ou canais de atendimento. Para testar a integração com WhatsApp, por exemplo, você precisará configurar o número de telefone no painel e conectar ao Meta Business Suite, seguindo os passos específicos da documentação de integrações do Tiledesk.

Mantendo o Sistema Atualizado

Como uma solução open source, o Tiledesk recebe atualizações frequentes com correções de bugs e novos recursos. Para manter sua instalação segura e atualizada:

cd ~/tiledesk
docker compose down
docker compose pull
docker compose up -d

Esse ciclo simples garante que você esteja sempre na versão mais recente das imagens, aproveitando as melhorias de performance e segurança.

Considerações Finais sobre Helpdesk Self-Hosted

Ao instalar o Tiledesk em sua própria VPS, você assume o controle total da cadeia de valor do atendimento. Dados de clientes não são compartilhados com terceiros, a latência é minimizada pela proximidade do servidor e os custos operacionais tendem a ser menores em larga escala comparado a licenças SaaS por agente.

Lembre-se de implementar backups regulares do volume mongodb_data. Utilize scripts automatizados ou ferramentas como o Docker Volume Backup para garantir que sua base de conhecimento e histórico de conversas estejam protegidos contra perda acidental. Com a infraestrutura adequada, o Tiledesk se torna um motor poderoso de automação de suporte, escalável e confiável.

Esse tutorial foi útil?

Comentários (0)

Seja o primeiro a comentar.

Deixe seu comentário

Seu comentário será analisado antes de ser publicado.

0/2000