Como Hospedar seu Próprio Servidor Matrix (Opção de Privacidade Superior ao Discord)
Reformulação: Discord oferece praticidade, porém essa conveniência tem um preço: suas mensagens, metadados e informações da comunidade são armazenados em servidores de terceiros. Se deseja manter sua privacidade ao executar sua própria plataforma de chat sem compartilhar seus dados, Matrix é uma opção a considerar.
Matrix é um sistema de mensagens aberto e federado que permite a comunicação entre usuários em diferentes servidores. Ao contrário do Discord, não há um proprietário central da rede, e qualquer pessoa pode hospedar seu próprio servidor Matrix em casa. Este tutorial explica como configurar um servidor Matrix em um VPS Linux usando o Synapse.
Qual é a definição de Matrix e quais são as vantagens de utilizá-lo em vez do Discord?
Matrix é mais do que apenas um aplicativo, é um protocolo que estabelece a forma como as mensagens são enviadas entre servidores, o que resulta em uma rede descentralizada. Isso permite que indivíduos em diferentes servidores possam participar de salas de conversa em tempo real, de maneira semelhante ao funcionamento do email em diversos provedores.
Por outro lado, Discord é uma plataforma que opera de forma privada, onde os dados, comunidades e comunicações estão centralizados em sua infraestrutura. Não existe possibilidade de exportação, conexão com outras plataformas ou garantias de privacidade além do que é estabelecido em seus termos de serviço.
Matrix oferece a você:
- Controle total sobre as mensagens e informações dos utilizadores.
- Amplie a federação com uma rede Matrix mais extensa (ou mantenha-a privada, se preferir).
- Criptografia de ponta a ponta é realizada por meio do protocolo Matrix.
- Um conjunto em expansão de clientes, bots e conexões.
O Element é o cliente Matrix mais amplamente utilizado, funcionando em desktop, dispositivos móveis e na web. Ele é uma excelente alternativa ao Discord, tanto em termos de interface do usuário quanto de funcionalidades.
Selecionar um servidor para operar o Synapse.
O Synapse é o servidor doméstico Matrix mais comumente utilizado, desenvolvido em Python e com recursos adequados para pequenas comunidades, embora possa exigir mais memória em grandes escalas.
Para um servidor doméstico de tamanho médio (atendendo até algumas centenas de usuários ativos), um VPS com as seguintes especificações mínimas:
- Duas unidades de processamento virtual.
- Quatro gigabytes de memória RAM.
- Armazenamento NVMe de 40 a 80 gigabytes.
…terá um início tranquilo. Se está pensando em conectar-se à vasta rede Matrix, precisará de mais espaço, sobretudo em termos de memória RAM.
Se você está em busca de um local adequado para hospedar seu projeto, os provedores de VPS na Holanda são uma opção bastante procurada por conta das leis rígidas de proteção de dados e da infraestrutura bem conectada do país, especialmente para projetos que priorizam a privacidade.
Requisitos anteriores ou condições necessárias.
Antes de iniciar, é importante garantir que você tenha:
- Um servidor virtual privado com sistema operacional Linux, executando Ubuntu 22.04 ou Debian 12 (ou versão mais atual).
- Um domínio que está sob o seu controle, como por exemplo, Matrix.yourdomain.com.
- DNS é um registro que direciona o seu domínio para o endereço IP do seu servidor.
- Permissão de administrador no servidor.
- As portas 80, 443 e 8448 estão disponíveis em seu firewall.
O porto 8448 é destinado à federação do Matrix. Caso não haja intenção de federar com outros servidores, é possível ignorar essa informação.
Como realizar a instalação do Synapse no Ubuntu ou Debian.
Passo 1: Realizar a instalação de componentes necessários.
Segundo passo: Incluir o repositório de pacotes do Matrix.org.
Etapa 3: Colocar o Synapse em funcionamento.
Durante a instalação, será necessário fornecer o nome do servidor, o qual deve ser seu domínio principal, como yourdomain.com, e não um subdomínio. Isso será utilizado como seu namespace de identidade Matrix, onde os usuários terão IDs como @user:yourdomain.com.
Etapa 4: Ajustar as configurações do Synapse.
O arquivo de configuração principal está localizado em /etc/matrix-synapse/homeserver.yaml. Abra-o com o editor que preferir e verifique as configurações principais.
Principais ajustes a serem verificados ou definidos:
- Nome do servidor: o seu domínio (previamente determinado durante a configuração)
- public_baseurl está configurado para https://yourdomain.com
- Criar uma sequência aleatória aqui para registrar um segredo compartilhado se desejar criar usuários por meio de comandos de linha.
- Habilitar o registro: defina como falso, a não ser que deseje permitir inscrições abertas.
Para criar uma sequência segura e confidencial, você pode utilizar:
Etapa 5: Estabeleça um servidor proxy reverso utilizando Nginx e SSL.
Configurar Nginx y Certbot:
Elabore uma configuração Nginx para o seu site Matrix.
Por favor, adicione esta configuração.
Ative o site e adquira seu certificado de segurança SSL.
O Certbot irá automaticamente modificar a configuração do Nginx para direcionar o tráfego HTTP para HTTPS.
Iniciar o Synapse é o sexto passo a ser realizado.
Se todas as condições são favoráveis, significa que o Synapse está operando localmente na porta 8008, sendo redirecionado via Nginx por meio de HTTPS.
Etapa 7: Estabeleça o seu inicial administrador de usuário.
Siga as orientações para criar um nome de usuário e senha e atribua privilégios de administrador a esta conta.
Organização do sistema federativo (não obrigatório)
A Federação possibilita a comunicação entre seu servidor e outros servidores da Matrix. Para que isso ocorra, é necessário que os demais servidores consigam acessar o seu servidor na porta 8448, ou então é preciso configurar uma delegação .well-known para que possam localizá-lo na porta 443.
Uma maneira fácil de abordar essa questão é usar o método .well-known. Consiste em criar um arquivo no seguinte endereço: https://seudominio.com/.well-known/matrix/server.
Posteriormente, faça a atualização da sua configuração Nginx para disponibilizar esse arquivo a partir do seu domínio principal e ajuste o Synapse para escutar na porta 8448 com um certificado TLS válido. As instruções detalhadas sobre isso podem ser encontradas nos documentos da federação Matrix.
Se desejar um servidor exclusivamente privado para uso interno, é possível dispensar completamente a federação.
Estabelecendo uma conexão com o Elemento.
Assim que o servidor estiver ativo, direcione o Element Web para ele.
- Clique em “Alinhar” após abrir o elemento.
- Pressione o botão “Editar” localizado próximo à URL do servidor doméstico.
- Insira https://matrix.yourdomain.com na barra de endereço.
- Realize o login utilizando as informações de administrador que foram criadas por você.
Você também tem a opção de hospedar o Element Web por conta própria para ter uma configuração totalmente autônoma, no entanto, conectar-se ao seu próprio servidor doméstico através da versão hospedada em app.element.io é uma opção viável.
Pontes: ligando Matrix a Discord, Slack e diversas outras plataformas.
Uma funcionalidade pouco valorizada da Matrix é a integração. É possível vincular seu servidor Matrix a diversas plataformas como Discord, Slack, Telegram, WhatsApp, entre outras, possibilitando a leitura e resposta pelo Element enquanto outros permanecem em seus aplicativos.
Exemplos de pontes populares são:
- maultix-discord é uma conexão para o Discord.
- máutrix-telegrama é uma conexão para o Telegram.
- Mautrix-signal é uma conexão para o Sinal.
Cada ponte opera como uma entidade distinta e é reconhecida como um serviço de aplicativo em seu servidor local. A configuração pode ser diferente para cada ponte, porém todas seguem um procedimento semelhante: instalação, configuração, registro no Synapse e reinicialização.
Manter a segurança e a privacidade do seu servidor.
Algumas ações merecem ser realizadas sem demora.
- Desative o registro aberto a menos que você deseje permitir que alguém se inscreva. Defina “enable_registration” como falso.
- Ativar a restrição de taxa na configuração do Synapse a fim de prevenir possíveis abusos.
- Estabelecer as configurações de um firewall (ufw ou iptables) e abrir somente as portas essenciais.
- Mantenha o Synapse sempre atualizado, pois o projeto disponibiliza regularmente correções de segurança.
Para obter mais detalhes sobre escolhas de hospedagem que priorizam a privacidade, é recomendável a leitura do excelente artigo sobre provedores de hospedagem que valorizam a privacidade.
A finalização do assunto.
Apresentar um servidor da Matrix requer alguma configuração inicial, porém, uma vez configurado, você terá controle total sobre uma plataforma de mensagens. Não há restrições de fornecedores, não há coleta de dados e você pode conectar com a rede Matrix ou manter as comunicações totalmente privadas.
Agradeço por ler! Se está em busca de um local confiável para hospedar seu homeserver, a QDE VPS disponibiliza planos de alto desempenho com armazenamento NVMe e conexões de 10 Gbps, localizados na Holanda. É uma excelente opção para projetos que prezam pela privacidade.
Está pronto para iniciar ou prefere discutir sobre sua configuração? Entre em contato conosco e iremos auxiliá-lo na escolha do plano adequado.
Dúvidas comuns sobre como um servidor Matrix pode ser auto-apresentado.
Qual distingue Matrix de Discord?
O Discord é uma plataforma fechada que armazena todos os dados em seus servidores, enquanto o Matrix é um protocolo aberto e federado, permitindo que você tenha seu próprio servidor e controle sobre seus dados. Embora não sejam diretamente compatíveis, o Matrix pode se integrar ao Discord se você desejar acesso às comunidades presentes nele.
A Matrix está codificada?
Sim, o Matrix oferece suporte à criptografia de ponta a ponta em salas de bate-papo privadas e em mensagens diretas, utilizando os protocolos criptográficos Olm e Megolm. A criptografia também pode ser aplicada aos quartos de grupo, embora a combinação de federação e criptografia possa gerar certo nível de complexidade.
Qual é o custo de operar um servidor Matrix?
A quantidade de usuários é o fator determinante. Um servidor doméstico pequeno, seja para uso pessoal ou em equipe, pode funcionar bem em um VPS custando entre 5 a 15/mês. O consumo de memória do Synapse varia conforme o número de usuários ativos e histórico de salas de bate-papo, portanto comunidades maiores precisarão de recursos adicionais.
Será possível trocar do Discord para o Matrix?
Não existe uma forma direta de migrar, no entanto, é possível utilizar uma ponte Discord para manter ambos os serviços em funcionamento ao mesmo tempo durante a transição. Com o passar do tempo, as comunidades podem gradualmente transferir suas interações para salas totalmente baseadas em Matrix.
Será necessário um nome de domínio?
Sim, o nome do servidor (juntamente com todos os IDs de usuário) está associado a um domínio. É possível utilizar um subdomínio, como por exemplo Matrix.seudomínio.com, para o servidor principal, garantindo que o domínio principal permaneça limpo para questões de identificação.
E caso deseje também fazer o hosting do Element Web?
O Element Web é um site estático que pode ser hospedado no mesmo servidor VPS usando Nginx. Basta clonar o repositório do Element Web, ajustar o arquivo config.json para se conectar ao seu servidor doméstico e disponibilizar o diretório compilado. A configuração é fácil de realizar em conjunto com o Synapse.
A Synapse é a única alternativa de servidor para a Matrix em casa?
Não. Conduit e Dendrite são opções mais leves feitas em Rust e Go, respectivamente. Especificamente, Conduit é uma excelente opção para servidores pessoais de pequeno porte, onde a eficiência de recursos é mais relevante do que a integridade dos recursos.