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.