Documentação de Instalação e Arquitetura
Guia exaustivo para implantar, configurar e operar sua própria infraestrutura de VSL de alta conversão sem mensalidades abusivas e com controle total.
1. Visão Geral & Arquitetura
O CloudVTurb é uma solução completa de hospedagem e streaming adaptativo para VSLs (Video Sales Letters), criada para substituir ferramentas proprietárias (VTurb, PandaVideo, Vimeo) eliminando o custo recorrente por tráfego.
A plataforma opera sobre Node.js 20 LTS, banco relacional embarcado SQLite com WAL mode (garantindo concorrência massiva de leitura/escrita com zero latência de rede), transcodificação multi-bitrate via FFmpeg e entrega otimizada via HLS (HTTP Live Streaming).
2. Requisitos de Infraestrutura & Provedores VPS
Como o processamento de vídeos (FFmpeg) exige recursos de CPU e memória RAM durante o upload, a escolha do servidor é o passo mais importante para um ambiente veloz.
Especificações de Servidor
| Ambiente | CPU | Memória RAM | Armazenamento | Sistema Operacional |
|---|---|---|---|---|
| Mínimo (1 a 15 VSLs) | 2 vCPU | 4 GB RAM | 40 GB SSD / NVMe | Ubuntu 22.04 LTS x64 |
| Recomendado (Produção) | 4 vCPU | 8 GB RAM | 80 GB NVMe | Ubuntu 22.04 ou 24.04 LTS |
| Alta Escala (Transcoding constante) | 8 vCPU Dedicadas | 16 GB RAM | 160+ GB NVMe | Ubuntu 24.04 LTS x64 |
Provedores Recomendados (Links Diretos)
Melhor relação custo-benefício mundial. 20 TB de tráfego inclusos e processadores AMD EPYC de alta velocidade para transcodificação de vídeo.
Maior volume de disco e memória RAM por dólar. Excelente se você planeja manter centenas de GBs de arquivos gravados localmente na VPS.
Infraestrutura de ponta com rede global redundante e deploy descomplicado de Droplets em poucos cliques.
Opção com data center direto em São Paulo (Brasil) para quem busca ping reduzido no território nacional.
3. Deploy via Dokploy (Método Recomendado)
O Dokploy é um painel open-source moderno e leve para gerenciar containers Docker com SSL automático Traefik e deploy contínuo via GitHub.
Passo 1: Instale o Dokploy na sua VPS
Conecte-se na sua VPS via SSH e execute o comando oficial de instalação do Dokploy:
curl -sSL https://dokploy.com/install.sh | sh
Passo 2: Configure a Aplicação no Painel
- Acesse o painel do Dokploy pelo endereço
http://IP_DA_VPS:3000. - Crie um novo Projeto (ex:
CloudVTurb). - Adicione um novo serviço do tipo Application.
- Selecione o Source como Git e insira a URL do repositório:
https://github.com/Gumballxnz/meu-vturb.git(Branch:main). - Na aba General, configure a porta do container para
4000. - Na aba Environment, adicione as variáveis de ambiente necessárias (veja a tabela na Seção 6).
- Na aba Domains, configure os domínios da sua aplicação:
seudominio.com(Porta 4000)dash.seudominio.com(Porta 4000)player.seudominio.com(Porta 4000)docs.seudominio.com(Porta 4000)
- Clique em Deploy. O Dokploy fará o build da imagem Docker com Node 20 e FFmpeg automaticamente.
4. Deploy via Coolify
O Coolify é outra alternativa open-source conceituada para gerenciar aplicações em servidores próprios.
Comando oficial de instalação do Coolify em VPS limpa:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
Após a instalação, adicione uma nova aplicação conectando o repositório https://github.com/Gumballxnz/meu-vturb, defina os domínios FQDN e mapeie os volumes persistentes:
/opt/cloudvturb/data:/app/data
/opt/cloudvturb/videos:/app/videos
5. Deploy em VPS Crua (Docker & Docker Compose)
Se preferir rodar diretamente no sistema operacional sem painéis adicionais, execute a sequência abaixo em um terminal Ubuntu limpo:
# 1. Atualize o sistema operacional
sudo apt update && sudo apt upgrade -y
# 2. Instale dependencias essenciais
sudo apt install -y curl git ufw ffmpeg
# 3. Instale o Docker Engine oficial
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
# 4. Configure o firewall UFW
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 4000/tcp
sudo ufw --force enable
Em seguida, clone o código do repositório e configure as variáveis:
# 5. Clone o repositorio no diretorio de servicos
git clone https://github.com/Gumballxnz/meu-vturb.git /opt/cloudvturb
cd /opt/cloudvturb
# 6. Configure o arquivo .env
cp .env.example .env
nano .env
# 7. Inicie a aplicacao em background com Docker Compose
docker compose up -d --build
6. DNS & Regras Cloudflare
O gerenciamento de DNS pelo painel da Cloudflare é altamente recomendado pela proteção Anti-DDoS e roteamento global ultrarrápido.
Tabela de Apontamentos DNS Obrigatórios
| Tipo | Nome do Host | Destino / Conteúdo | Proxy (Nuvem) |
|---|---|---|---|
A |
@ (raiz) |
IP_DA_SUA_VPS |
Laranja (Proxied) |
A |
dash |
IP_DA_SUA_VPS |
Laranja ou Cinza (veja nota) |
A |
player |
IP_DA_SUA_VPS |
Laranja (Proxied) |
A |
docs |
IP_DA_SUA_VPS |
Laranja (Proxied) |
dash com nuvem cinza (DNS Only) ou utilize a integração com Cloudflare R2.
7. Dicionário de Variáveis de Ambiente (.env)
Todas as credenciais sensíveis e domínios são controlados exclusivamente pelo arquivo .env.
| Variável | Obrigatória | Exemplo de Valor | Finalidade |
|---|---|---|---|
PORT |
Sim | 4000 |
Porta TCP onde a aplicação escuta no container. |
BASE_DOMAIN |
Sim | seudominio.com |
Domínio raiz da página de vendas / landing. |
DASH_DOMAIN |
Sim | dash.seudominio.com |
Subdomínio de acesso ao painel de controle e login. |
PLAYER_DOMAIN |
Sim | player.seudominio.com |
Subdomínio isolado onde os players são executados. |
DOCS_DOMAIN |
Sim | docs.seudominio.com |
Subdomínio exclusivo onde a documentação é servida. |
JWT_SECRET |
Sim | 64_caracteres_hex |
Chave privada de assinatura dos tokens de autenticação. |
RESEND_API_KEY |
Opcional | re_123456789... |
Chave de API do Resend para e-mails de aprovação e senha. |
GOOGLE_CLIENT_ID |
Opcional | xxxx.apps.googleusercontent.com |
Client ID para login com Google do Google Cloud. |
Para gerar uma chave criptográfica forte para o seu JWT_SECRET, execute no terminal:
openssl rand -hex 64
8. Armazenamento Cloudflare R2 (Custo Zero de Egress)
O Cloudflare R2 é uma solução compatível com a API S3 da Amazon, com a vantagem decisiva de ter taxa zero de saída de dados.
Passo a Passo de Configuração
- Acesse o Painel Cloudflare R2.
- Clique em Create Bucket e atribua um nome (ex:
meu-vturb-vsls). - No menu lateral direito do R2, clique em Manage R2 API Tokens e crie um token com permissão Object Read & Write.
- Anote o Access Key ID e o Secret Access Key.
- Acesse a aba Settings do bucket criado e ative Public Access ou adicione um subdomínio próprio (ex:
cdn.seudominio.com). - No painel do CloudVTurb, acesse Configurações → Armazenamento, selecione Cloudflare R2 / S3 e salve os dados.
9. Login com Google OAuth
Para habilitar o botão de login social em 1 clique com contas Google:
- Acesse o Google Cloud Console.
- Crie um novo projeto ou selecione um existente.
- Acesse APIs e Serviços → Credenciais e clique em Criar Credenciais → ID do cliente OAuth.
- Tipo de aplicativo: Aplicativo da Web.
- Em Origens JavaScript autorizadas, adicione os seus domínios:
https://dash.seudominio.comhttps://seudominio.com - Copie o Client ID gerado e adicione ao seu arquivo
.envna variávelGOOGLE_CLIENT_ID.
10. Como Incorporar o Player nas Suas Páginas
O player do CloudVTurb foi construído para funcionar com máxima fluidez e compatibilidade em qualquer construtor visual: Elementor, WordPress, Webflow, Leadlovers, ClickFunnels ou HTML puro.
Código Iframe Responsivo 16:9
<!-- Pre-carregamento rapido do player -->
<link rel="preconnect" href="https://player.seudominio.com">
<link rel="dns-prefetch" href="https://player.seudominio.com">
<!-- Container responsivo com proporcao 16:9 -->
<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:12px;">
<iframe src="https://player.seudominio.com/players/SEU_VIDEO_ID"
style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;"
allow="autoplay; fullscreen"
allowfullscreen></iframe>
</div>
11. Troubleshooting & FAQ
Como verificar os logs da aplicação
docker logs -f --tail 100 meu-vturb-app
Como atualizar a aplicação para a versão mais recente
cd /opt/cloudvturb
git pull origin main
docker compose up -d --build