Revolt Chat VPS: Guia Completo de Instalação e Personalização

9 min de leitura Comunicação Interna Self-Hosted
Revolt Chat VPS: Guia Completo de Instalação e Personalização

O Revolt é uma plataforma de chat open-source que se destaca como uma alternativa moderna e personalizável ao Discord. Para administradores de sistemas, desenvolvedores e equipes que priorizam a privacidade e o controle total sobre seus dados, executar o Revolt em um ambiente VPS (Virtual Private Server) oferece uma solução robusta de comunicação interna. Este guia detalhado explica como instalar, configurar e personalizar o servidor Revolt no Linux, garantindo uma infraestrutura segura e eficiente.

1. Pré-requisitos e Preparação do Ambiente

Antes de iniciar a instalação, é fundamental garantir que o servidor atenda aos requisitos mínimos de hardware e software. O Revolt é construído com tecnologias modernas que exigem recursos específicos para operar corretamente.

  • Sistema Operacional: Linux Ubuntu 20.04 LTS ou superior (recomendado), Debian 11, ou distribuições baseadas em Systemd.
  • Processador: Arquitetura x86_64 ou ARM64.
  • Memória RAM: Mínimo de 2GB recomendados para uso estável com banco de dados e cache.
  • Disco Rígido: Pelo menos 10GB de espaço livre para o sistema, banco de dados e arquivos estáticos.
  • Navegador: Acesso à interface web através de navegadores modernos (Chrome, Firefox, Edge).

A primeira etapa envolve atualizar o sistema operacional e instalar dependências básicas necessárias para compilar e gerenciar os serviços do Revolt. Acesse seu servidor via SSH com privilégios de root ou usuário sudo.

sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget gnupg2 ca-certificates lsb-release

2. Instalação do Node.js e Yarn

O servidor Revolt é escrito em TypeScript e roda na plataforma Node.js. A versão estável mais recomendada para ambientes de produção é a LTS (Long Term Support). Além disso, o gerenciador de pacotes Yarn é essencial para lidar com as dependências do projeto.

Adicione o repositório oficial do NodeSource para garantir a instalação da versão correta:

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

Com o Node.js instalado, proceda com a instalação do Yarn globalmente:

corepack enable
npm install -g yarn

Verifique as versões instaladas para confirmar que tudo está funcionando:

node --version
yarn --version

3. Configuração do Banco de Dados (PostgreSQL)

O Revolt utiliza o PostgreSQL como seu banco de dados principal para armazenar mensagens, usuários e configurações. A instalação é direta via apt.

sudo apt install postgresql postgresql-contrib

Inicie o serviço e garanta que ele esteja ativo no boot:

sudo systemctl enable postgresql
sudo systemctl start postgresql

Agora, crie um banco de dados dedicado para o Revolt. Por segurança, não utilize o usuário padrão postgres na aplicação final.

sudo -u postgres psql

Dentro do prompt do PostgreSQL, execute os seguintes comandos SQL:

CREATE DATABASE revolt;
CREATE USER revolt WITH PASSWORD 'senha_forte_aqui';
ALTER ROLE revolt SET client_encoding TO 'utf8';
ALTER ROLE revolt SET default_transaction_isolation TO 'read committed';
ALTER ROLE revolt SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE revolt TO revolt;

Saia do prompt com \q.

4. Instalação e Configuração do Redis

O Redis é utilizado pelo Revolt para caching, gerenciamento de sessões e filas de tarefas em tempo real. Sua instalação é crítica para a performance do chat.

sudo apt install redis-server

Habilite e inicie o serviço:

sudo systemctl enable redis-server
sudo systemctl start redis-server

Para produção, recomenda-se configurar uma senha para o Redis ou restringir o acesso via firewall local. Edite o arquivo /etc/redis/redis.conf e defina um requirepass, além de garantir que o bind esteja definido como 127.0.0.1.

5. Download e Compilação do Código Fonte

Agora, vamos baixar o código fonte do Revolt. A melhor prática é clonar o repositório oficial para um diretório dedicado, como /opt/revolt.

sudo mkdir -p /opt/revolt
cd /opt/revolt
sudo git clone https://github.com/revoltchat/revolt.git .
sudo chown -R $USER:$USER /opt/revolt

Navegue até o diretório do backend e instale as dependências:

cd server
yarn install

Repita o processo para o frontend (interface web):

cd ../frontend
yarn install

6. Configuração de Variáveis de Ambiente

O Revolt depende fortemente de variáveis de ambiente para conectar-se ao banco de dados, Redis e configurar o SMTP para envio de emails. Crie um arquivo .env na raiz do diretório do servidor.

cd /opt/revolt
nano .env

Preencha o arquivo com as configurações abaixo, ajustando os valores conforme sua infraestrutura:

# Banco de Dados
DATABASE_URL=postgresql://revolt:senha_forte_aqui@localhost/revolt

# Redis
REDIS_URL=redis://localhost:6379

# Servidor Web
PORT=8080
HOST=127.0.0.1
BASE_URL=http://seu-dominio.com.br
PUBLIC_URL=http://seu-dominio.com.br

# SMTP (Opcional, mas recomendado para recuperação de senha)
SMTP_HOST=smtp.seudominio.com
SMTP_PORT=587
SMTP_USER=seu-email@seudominio.com
SMTP_PASS=sua_senha_smtp
SMTP_FROM=noreply@seudominio.com

# Chave Secreta (Gere uma string aleatória longa para segurança de sessões)
SECRET_KEY=gerar_uma_string_aleatoria_muito_longa_e_segura

Dica de Segurança: A variável SECRET_KEY é crucial. Se você perder esta chave, não será possível fazer login em nenhuma conta criada no servidor. Armazene-a em um local seguro.

7. Build e Execução do Servidor

Com as dependências instaladas e o ambiente configurado, compile o código TypeScript para JavaScript executável.

cd /opt/revolt/server
yarn build

Para testes iniciais, você pode rodar o servidor manualmente:

yarn start

Se o terminal exibir mensagens indicando que o servidor está ouvindo na porta 8080, a instalação básica está funcional. Pressione Ctrl+C para parar.

8. Configuração do Systemd (Gerenciamento de Processo)

Para garantir que o Revolt reinicie automaticamente em caso de falhas ou reinicializações do servidor, crie um serviço Systemd.

sudo nano /etc/systemd/system/revolt.service

Cole a seguinte configuração:

[Unit]
Description=Revolt Chat Server
After=network.target postgresql.service redis-server.service

[Service]
Type=simple
User=seu_usuario_linux
WorkingDirectory=/opt/revolt/server
ExecStart=/usr/bin/yarn start
Restart=on-failure
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

Recarregue o daemon do systemd e inicie o serviço:

sudo systemctl daemon-reload
sudo systemctl enable revolt
sudo systemctl start revolt

Verifique o status para confirmar que está rodando:

sudo systemctl status revolt

9. Configuração do Nginx como Reverse Proxy

Nunca exponha a porta 8080 diretamente à internet. Utilize o Nginx para gerenciar o tráfego HTTPS e rotear as requisições WebSocket e HTTP para o Revolt.

sudo apt install nginx certbot python3-certbot-nginx

Crie um arquivo de configuração no diretório sites-available:

sudo nano /etc/nginx/sites-available/revolt

Configure o bloco do servidor para redirecionar todo o tráfego e habilitar o suporte a WebSockets (essencial para chat em tempo real):

server {
    listen 80;
    server_name seu-dominio.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-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_cache_bypass $http_upgrade;
    }
}

Ative a configuração e teste o Nginx:

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

10. Habilitação do SSL com Let's Encrypt

A segurança é uma prioridade em qualquer solução self-hosted. Utilize o Certbot para obter certificados TLS gratuitos.

sudo certbot --nginx -d seu-dominio.com.br

Siga as instruções no terminal para configurar o redirecionamento automático de HTTP para HTTPS. O Nginx será reconfigurado automaticamente.

11. Personalização e Primeiros Passos

Acesse seu domínio pelo navegador. Você verá a tela de registro inicial. Como esta é uma instalação limpa, o primeiro usuário registrado se tornará automaticamente o Administrador do servidor.

  • Criação de Conta: Insira um email válido e defina uma senha forte.
  • Configuração de Ícone e Nome: Vá até as configurações de perfil para alterar o nome da instância e fazer upload do logotipo, personalizando a identidade visual da sua ferramenta de comunicação interna.
  • Ajustes de Segurança: Nas configurações administrativas, você pode desativar o registro público se desejar que apenas convites por link permitam o acesso à plataforma.

12. Manutenção e Atualização

Para manter o servidor seguro e com as últimas funcionalidades, atualize periodicamente o código fonte. Pare o serviço, atualize o repositório e recompile:

sudo systemctl stop revolt
cd /opt/revolt
git pull
yarn install
cd server && yarn build
cd ../frontend && yarn build
sudo systemctl start revolt

Monitorar os logs é essencial para identificar erros. Utilize o journalctl para visualizar a saída do serviço em tempo real:

sudo journalctl -u revolt -f

Conclusão

Instalar e configurar o Revolt em uma VPS Linux oferece um controle total sobre a comunicação da sua equipe. Ao seguir estes passos, você estabelece não apenas um servidor de chat, mas uma infraestrutura de comunicação segura, privada e altamente personalizável. Diferente de soluções proprietárias, você possui os dados, controla as atualizações e define as regras de convivência digital.

Este tutorial cobre a base técnica para operar o servidor discord alternativo Revolt. Com a configuração correta do banco de dados, cache e proxy reverso, sua equipe terá acesso a uma ferramenta robusta de chat open source linux, pronta para escalar conforme as necessidades da organização.

Compartilhar: Link copiado!
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