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).
- Clique em "Sign Up" ou "Register".
- Preencha os campos com nome, email e senha fortes.
- 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.