Servidor de Chat · 15 min read · Nov 01, 2025
Como Instalar e Criar um Servidor de Chat usando Matrix Synapse e Element no Ubuntu 22.04

Matrix é um padrão aberto para comunicação descentralizada e criptografada de ponta a ponta. É uma coleção de servidores e serviços que se comunicam entre si usando uma API padronizada que sincroniza em tempo real. Ele usa servidores domésticos para armazenar informações de conta e histórico de chat. Se um servidor doméstico falhar, outros servidores podem continuar a comunicação sem problemas devido à natureza da descentralização. Você pode usar um servidor doméstico Matrix hospedado por outra pessoa ou hospedar o seu próprio para manter o controle sobre seus dados.
Neste tutorial, você aprenderá como instalar e criar um servidor de chat usando o Synapse, uma implementação de servidor doméstico do Matrix. O Element é um cliente web Matrix construído usando o Matrix React SDK. Isso permitirá que você ofereça chat Matrix na web. Você também pode usar o servidor com qualquer outro cliente Matrix de sua escolha. Também estaremos instalando o servidor Coturn para habilitar chamadas de voz e vídeo. O serviço Coturn é opcional se você não estiver interessado em usá-lo.
Pré-requisitos
- Um servidor rodando Ubuntu 22.04.
- Um usuário não-sudo com privilégios de root.
- O Firewall descomplicado (UFW) está habilitado e em execução.
- Nomes de Domínio Totalmente Qualificados (FQDN) para Matrix, Element e Coturn apontando para seu servidor. Usaremos
matrix.example.com,element.example.comecoturn.example.comrespectivamente para os três serviços. - Certifique-se de que tudo esteja atualizado.
$ sudo apt update && sudo apt upgrade
Passo 1 - Configurar o Firewall
Antes de instalar qualquer pacote, o primeiro passo é configurar o firewall para abrir portas para HTTP, HTTPS e Synapse.
Verifique o status do firewall.
$ sudo ufw status
Você deve ver algo como o seguinte.
Status: ativo
Para Ação De
-- ------ ----
OpenSSH PERMITIR Em qualquer lugar
OpenSSH (v6) PERMITIR Em qualquer lugar (v6)
Abra as portas HTTP, HTTPS e Synapse no firewall.
$ sudo ufw allow 8448
$ sudo ufw allow http
$ sudo ufw allow https
Verifique o status novamente para confirmar.
$ sudo ufw status
Status: ativo
Para Ação De
-- ------ ----
OpenSSH PERMITIR Em qualquer lugar
8448 PERMITIR Em qualquer lugar
80/tcp PERMITIR Em qualquer lugar
443 PERMITIR Em qualquer lugar
OpenSSH (v6) PERMITIR Em qualquer lugar (v6)
8448 (v6) PERMITIR Em qualquer lugar (v6)
80/tcp (v6) PERMITIR Em qualquer lugar (v6)
443 (v6) PERMITIR Em qualquer lugar (v6)
Passo 2 - Instalar o Matrix Synapse
Adicione a chave GPG do Matrix.
$ sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
Adicione o repositório APT do Matrix.
$ echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/matrix-org.list
Atualize a lista de repositórios do sistema.
$ sudo apt update
Instale o Matrix Synapse.
$ sudo apt install matrix-synapse-py3
Durante a instalação, você será solicitado a informar o nome do servidor, que faz parte do seu ID Matrix. Insira o nome de domínio do Matrix em seu lugar. Isso atuará como o endereço do seu servidor doméstico.
Você também será perguntado se deseja ou não enviar estatísticas anonimizadas sobre seu servidor doméstico de volta ao Matrix. Digite N para recusar.
Você pode alterar essas configurações mais tarde no arquivo /etc/matrix-synapse/conf.d/server_name.yaml.
O serviço do Matrix Synapse é habilitado e iniciado durante a instalação. Verifique o status do serviço.
$ sudo systemctl status matrix-synapse
? matrix-synapse.service - Synapse Matrix homeserver
Loaded: loaded (/lib/systemd/system/matrix-synapse.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2022-09-26 09:38:38 UTC; 1min 19s ago
Process: 12926 ExecStartPre=/opt/venvs/matrix-synapse/bin/python -m synapse.app.homeserver --config-path=/etc/matrix-synapse/homeserver.yaml --config-path=/etc/matrix-synapse/conf.d/ --generate-key> Main PID: 12931 (python)
Tasks: 8 (limit: 2238)
Memory: 87.3M
CPU: 4.180s
CGroup: /system.slice/matrix-synapse.service
??12931 /opt/venvs/matrix-synapse/bin/python -m synapse.app.homeserver --config-path=/etc/matrix-synapse/homeserver.yaml --config-path=/etc/matrix-synapse/conf.d/
Sep 26 09:38:36 matrix matrix-synapse[12926]: Generating signing key file /etc/matrix-synapse/homeserver.signing.key
Sep 26 09:38:37 matrix matrix-synapse[12931]: This server is configured to use 'matrix.org' as its trusted key server via the
Sep 26 09:38:37 matrix matrix-synapse[12931]: 'trusted_key_servers' config option. 'matrix.org' is a good choice for a key
Sep 26 09:38:37 matrix matrix-synapse[12931]: server since it is long-lived, stable and trusted. However, some admins may
Sep 26 09:38:37 matrix matrix-synapse[12931]: wish to use another server for this purpose.
Sep 26 09:38:37 matrix matrix-synapse[12931]: To suppress this warning and continue using 'matrix.org', admins should set
Sep 26 09:38:37 matrix matrix-synapse[12931]: 'suppress_key_server_warning' to 'true' in homeserver.yaml.
Sep 26 09:38:37 matrix matrix-synapse[12931]: --------------------------------------------------------------------------------
Sep 26 09:38:38 matrix matrix-synapse[12931]: Config is missing macaroon_secret_key
Sep 26 09:38:38 matrix systemd[1]: Started Synapse Matrix homeserver.
Passo 3 - Instalar e Configurar PostgreSQL
Usaremos o repositório APT oficial do PostgreSQL para instalar. Execute o seguinte comando para adicionar a chave GPG do PostgreSQL.
$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql-key.gpg >/dev/null
Adicione o repositório APT à sua lista de fontes.
$ sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/postgresql-key.gpg arch=amd64] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
Atualize o repositório do sistema.
$ sudo apt update
Agora, você pode instalar o PostgreSQL usando o seguinte comando.
$ sudo apt install postgresql postgresql-contrib
Verifique o status do serviço PostgreSQL.
$ sudo systemctl status postgresql
? postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2022-09-26 09:41:36 UTC; 2min 14s ago
Process: 15586 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 15586 (code=exited, status=0/SUCCESS)
CPU: 1ms
Sep 26 09:41:36 matrix systemd[1]: Starting PostgreSQL RDBMS...
Sep 26 09:41:36 matrix systemd[1]: Finished PostgreSQL RDBMS.
Você pode ver que o serviço está habilitado e em execução por padrão.
Faça login na conta do sistema postgres.
$ sudo -su postgres
Crie um novo usuário de banco de dados e um banco de dados para o PostgreSQL.
$ createuser --pwprompt synapse
$ createdb --encoding=UTF8 --locale=C --template=template0 --owner=synapse synapse
Saia da conta postgres.
$ exit
Passo 4 - Instalar Nginx
Para o ambiente de produção, é recomendado executar o servidor Synapse usando um proxy Nginx.
O Ubuntu 22.04 vem com uma versão mais antiga do Nginx. Para instalar a versão mais recente, você precisa baixar o repositório oficial do Nginx.
Importe a chave de assinatura do Nginx.
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Adicione o repositório para a versão estável do Nginx.
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
Atualize os repositórios do sistema.
$ sudo apt update
Instale o Nginx.
$ sudo apt install nginx
Verifique a instalação.
$ nginx -v
nginx version: nginx/1.22.0
Inicie o servidor Nginx.
$ sudo systemctl start nginx
Passo 5 - Instalar SSL
Precisamos instalar o Certbot para gerar o certificado SSL. Você pode instalar o Certbot usando o repositório do Ubuntu ou pegar a versão mais recente usando a ferramenta Snapd. Usaremos a versão Snapd.
O Ubuntu 22.04 vem com o Snapd instalado por padrão. Execute os seguintes comandos para garantir que sua versão do Snapd esteja atualizada.
$ sudo snap install core
$ sudo snap refresh core
Instale o Certbot.
$ sudo snap install --classic certbot
Use o seguinte comando para garantir que o comando Certbot possa ser executado criando um link simbólico para o diretório /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Execute o seguinte comando para gerar um Certificado SSL.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d matrix.example.com
O comando acima fará o download de um certificado para o diretório /etc/letsencrypt/live/matrix.example.com em seu servidor.
Gere um certificado de grupo Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Para verificar se a renovação do SSL está funcionando bem, faça um teste do processo.
$ sudo certbot renew --dry-run
Se você não ver erros, está tudo pronto. Seu certificado será renovado automaticamente.
Passo 6 - Configurar o Matrix Synapse
Você pode configurar o servidor Matrix através do arquivo /etc/matrix-synapse/homeserver.yaml, mas não é recomendado, pois ele é sobrescrito após cada atualização. Para uso em produção, você deve colocar arquivos de configuração na pasta /etc/matrix-synapse/conf.d.
A instalação do Synapse criou dois arquivos de configuração na pasta /etc/matrix-synapse/conf.d.
$ ls /etc/matrix-synapse/conf.d
report_stats.yaml server_name.yaml
Crie um novo arquivo de configuração para o banco de dados e abra-o para edição.
$ sudo nano /etc/matrix-synapse/conf.d/database.yaml
Cole as seguintes linhas no editor. Substitua o campo your-password pela senha do usuário PostgreSQL que você criou no passo 3. Substitua localhost pelo endereço IP do seu servidor, se você estiver hospedando o banco de dados em outro lugar.
database:
name: psycopg2
args:
user: synapse
password: 'your-password'
database: synapsedb
host: localhost
cp_min: 5
cp_max: 10
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Crie uma chave de registro secreta. A chave deve ser protegida porque permitirá que qualquer um registre um novo usuário, mesmo que o registro esteja desativado.
$ echo "registration_shared_secret: '$(cat /dev/urandom | tr -cd '[:alnum:]' | fold -w 256 | head -n 1)'" | sudo tee /etc/matrix-synapse/conf.d/registration_shared_secret.yaml
Por padrão, o Synapse habilita indicadores de presença que mostram se uma pessoa está online. Isso pode causar alto uso de CPU, portanto, você pode desativá-lo. Crie um novo arquivo de configuração para isso.
$ sudo nano /etc/matrix-synapse/conf.d/presence.yaml
Cole a seguinte linha no editor.
presence:
enabled: false
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Reinicie o serviço Synapse para aplicar as alterações.
Crie um novo usuário matrix. Você será solicitado a informar seu nome de usuário e senha. Como este é o primeiro usuário que estamos criando, digite yes quando perguntado se deseja tornar o usuário um administrador.
$ register_new_matrix_user -c /etc/matrix-synapse/conf.d/registration_shared_secret.yaml http://localhost:8008
Novo usuário local [navjot]: navjot
Senha:
Confirmar senha:
Tornar admin [não]: sim
Enviando solicitação de registro...
Sucesso!
Se você deseja abrir o registro público, crie um novo arquivo de configuração.
$ sudo nano /etc/matrix-synapse/conf.d/registration.yaml
Cole as seguintes linhas nele.
enable_registration: true
Por padrão, o Synapse não permite registros sem verificação de e-mail. Para habilitar a verificação de e-mail, cole as seguintes linhas.
registrations_require_3pid:
- email
email:
smtp_host: mail.example.com
smtp_port: 587
# Se o servidor de e-mail não tiver autenticação, pule estas 2 linhas
smtp_user: '[email protected]'
smtp_pass: 'senha'
# Opcional, requerer criptografia com STARTTLS
require_transport_security: true
app_name: 'HowtoForge Example Chat' # define o valor para %(app)s em notif_from e assunto do e-mail
notif_from: "%(app)s <[email protected]>"
Para desativar a verificação de e-mail, cole a seguinte linha em vez disso.
enable_registration_without_verification: true
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Reinicie o Synapse para aplicar a configuração.
$ sudo systemctl restart matrix-synapse
Passo 7 - Configurar Nginx
Abra o arquivo /etc/nginx/nginx.conf para edição.
$ sudo nano /etc/nginx/nginx.conf
Adicione a seguinte linha antes da linha include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Crie e abra o arquivo /etc/nginx/conf.d/synapse.conf para edição.
$ sudo nano /etc/nginx/conf.d/synapse.conf
Cole o seguinte código nele.
# impor HTTPS
server {
# Porta do cliente
listen 80;
listen [::]:80;
server_name matrix.example.com;
return 301 https://$host$request_uri;
}
server {
server_name matrix.example.com;
# Porta do cliente
listen 443 ssl http2;
listen [::]:443 ssl http2;
# Porta de federação
listen 8448 ssl http2 default_server;
listen [::]:8448 ssl http2 default_server;
access_log /var/log/nginx/synapse.access.log;
error_log /var/log/nginx/synapse.error.log;
# Configuração TLS
ssl_certificate /etc/letsencrypt/live/matrix.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/matrix.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/matrix.example.com/chain.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location ~ ^(/_matrix|/_synapse/client) {
proxy_pass http://localhost:8008;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
# O Nginx por padrão permite apenas uploads de arquivos de até 1M de tamanho
# Aumente client_max_body_size para corresponder ao max_upload_size definido em homeserver.yaml
client_max_body_size 50M;
}
}
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado após terminar.
Verifique a sintaxe do arquivo de configuração do Nginx.
$ sudo nginx -t
nginx: o arquivo de configuração /etc/nginx/nginx.conf a sintaxe está ok
nginx: teste do arquivo de configuração /etc/nginx/nginx.conf bem-sucedido
Reinicie o serviço Nginx.
$ sudo systemctl restart nginx
Passo 8 - Instalar Coturn
Você precisará instalar um servidor de Traversal Using Relays around NAT (TURN) para habilitar chamadas de voz e vídeo. Para isso, instalaremos o pacote Coturn. Se você não precisa dessa funcionalidade, pode pular esta etapa.
O Ubuntu 22.04 não vem com o pacote Coturn devido a um problema de bug que já foi resolvido. No entanto, há outra maneira de instalar o Coturn usando um repositório não oficial. Opcionalmente, você também pode usar o Docker para instalar o Coturn, mas não usaremos esse método, pois está fora do escopo deste tutorial.
Adicione o repositório não oficial do Coturn.
$ sudo add-apt-repository ppa:ubuntuhandbook1/coturn
Instale o Coturn.
$ sudo apt install coturn
Abra as portas TURN e UDP.
$ sudo ufw allow 3478
$ sudo ufw allow 5349
$ sudo ufw allow 49152:65535/udp
Gere um certificado SSL para o Turn ( turn.example.com).
$ sudo certbot certonly --nginx -d turn.example.com
Gere um segredo de autenticação e salve-o no arquivo de configuração.
$ echo "static-auth-secret=$(cat /dev/urandom | tr -cd '[:alnum:]' | fold -w 256 | head -n 1)" | sudo tee /etc/turnserver.conf
Abra o arquivo de configuração para edição.
$ sudo nano /etc/turnserver.conf
Cole as seguintes linhas nele abaixo do segredo de autenticação.
use-auth-secret
realm=turn.example.com
cert=/etc/letsencrypt/live/turn.example.com/fullchain.pem
pkey=/etc/letsencrypt/live/turn.example.com/privkey.pem
# VoIP é UDP, não há necessidade de TCP
no-tcp-relay
# Não permitir tráfego para faixas de IP privadas
deno-multicast-peers
denied-peer-ip=0.0.0.0-0.255.255.255
denied-peer-ip=10.0.0.0-10.255.255.255
denied-peer-ip=100.64.0.0-100.127.255.255
denied-peer-ip=127.0.0.0-127.255.255.255
denied-peer-ip=169.254.0.0-169.254.255.255
denied-peer-ip=172.16.0.0-172.31.255.255
denied-peer-ip=192.0.0.0-192.0.0.255
denied-peer-ip=192.0.2.0-192.0.2.255
denied-peer-ip=192.88.99.0-192.88.99.255
denied-peer-ip=192.168.0.0-192.168.255.255
denied-peer-ip=198.18.0.0-198.19.255.255
denied-peer-ip=198.51.100.0-198.51.100.255
denied-peer-ip=203.0.113.0-203.0.113.255
denied-peer-ip=240.0.0.0-255.255.255.255
denied-peer-ip=::1
denied-peer-ip=64:ff9b::-64:ff9b::ffff:ffff
deno-peer-ip=::ffff:0.0.0.0-::ffff:255.255.255.255
deno-peer-ip=100::-100::ffff:ffff:ffff:ffff
deno-peer-ip=2001::-2001:1ff:ffff:ffff:ffff:ffff:ffff:ffff
deno-peer-ip=2002::-2002:ffff:ffff:ffff:ffff:ffff:ffff:ffff
deno-peer-ip=fc00::-fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
deno-peer-ip=fe80::-febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff
# Limitar o número de sessões por usuário
user-quota=12
# Limitar o número total de sessões
total-quota=1200
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Reinicie o Coturn para aplicar a configuração.
$ sudo systemctl restart coturn
Crie um novo arquivo de configuração do Synapse para o Coturn.
$ sudo nano /etc/matrix-synapse/conf.d/turn.yaml
Cole as seguintes linhas nele. Substitua o valor de turn_shared_secret pelo valor de static-auth-secret do arquivo urnserver.conf.
turn_uris: [ "turn:turn.example.com?transport=udp", "turn:turn.example.com?transport=tcp" ]
turn_shared_secret: 'static-auth-secret'
turn_user_lifetime: 86400000
turn_allow_guests: True
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Reinicie o Synapse para aplicar as alterações.
$ sudo systemctl restart matrix-synapse
Passo 9 - Acessar o Matrix
Você pode acessar o Chat Matrix usando o cliente web do Element em https://app.element.io. Clique no botão Entrar para prosseguir.

Clique no link Editar sob Servidor Doméstico. Insira matrix.example.com como seu servidor doméstico.

Se o cliente detectar seu servidor doméstico corretamente, a borda e o texto ficarão verdes, caso contrário, serão exibidos em vermelho. Clique em Continuar para prosseguir.

Clique no botão Entrar para fazer login. Você será solicitado a criar um backup seguro e criptografado.

Selecione a opção Inserir uma Frase de Segurança para criar uma frase de segurança que será necessária toda vez que você fizer login. Clique em Continuar para prosseguir.

Insira uma frase de segurança e clique no botão Continuar para prosseguir. Você será solicitado a confirmá-la novamente na próxima tela.

Insira a frase novamente e clique em Continuar para prosseguir.

Você receberá um conjunto de chaves de segurança que poderá usar se esquecer sua frase de segurança. Clique no botão Baixar para salvá-las.
Clique no botão Continuar para prosseguir.

Você será solicitado a informar sua senha de conta. Insira a senha e clique no botão Continuar para finalizar a configuração do backup criptografado.

Criamos uma sala de chat em grupo chamada Howtoforge, conforme mostrado acima.
Passo 10 - Instalar Element
Instale o pacote jq para instalar o processador de texto JSON.
$ sudo apt install jq
Crie um diretório para o Element.
$ sudo mkdir -p /var/www/element
Crie um novo arquivo para obter a versão mais recente do Element.
$ sudo nano /var/www/element/update.sh
Adicione as seguintes linhas a ele.
#!/bin/sh
set -e
install_location="/var/www/element"
latest="$(curl -s https://api.github.com/repos/vector-im/element-web/releases/latest | jq -r .tag_name)"
cd "$install_location"
[ ! -d "archive" ] && mkdir -p "archive"
[ -d "archive/element-${latest}" ] && rm -r "archive/element-${latest}"
[ -f "archive/element-${latest}.tar.gz" ] && rm "archive/element-${latest}.tar.gz"
wget "https://github.com/vector-im/element-web/releases/download/${latest}/element-${latest}.tar.gz" -P "archive"
tar xf "archive/element-${latest}.tar.gz" -C "archive"
[ -L "${install_location}/current" ] && rm "${install_location}/current"
ln -sf "${install_location}/archive/element-${latest}" "${install_location}/current"
ln -sf "${install_location}/config.json" "${install_location}/current/config.json"
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Torne o arquivo executável.
$ sudo chmod +x /var/www/element/update.sh
Execute o script para baixar o Element.
$ sudo /var/www/element/update.sh
Passo 11 - Configurar Element
Copie o mesmo arquivo de configuração do elemento.
$ sudo cp /var/www/element/current/config.sample.json /var/www/element/config.json
Abra o arquivo de configuração para edição.
$ sudo nano /var/www/element/config.json
Encontre as seguintes linhas.
"m.homeserver": {
"base_url": "https://matrix-client.matrix.org",
"server_name": "matrix.org"
},
Altere o endereço do servidor doméstico Matrix padrão para o seu servidor doméstico e remova a variável server_name.
"m.homeserver": {
"base_url": "https://matrix.example.com",
"server_name": "matrix.element.com"
},
Se você quiser usar seu próprio nome em vez de Element no título do site, altere o nome da marca.
"brand": "Howtoforge Example Chat",
Defina a variável disable_guests como verdadeira para proibir convidados de usar o Element.
"disable_guests": true,
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Gere um certificado SSL para o cliente Element.
$ sudo certbot certonly --nginx -d element.example.com
Crie e abra o arquivo /etc/nginx/conf.d/element.conf para edição.
$ sudo nano /etc/nginx/conf.d/element.conf
Cole as seguintes linhas nele.
server {
listen 80;
listen [::]:80;
server_name element.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name element.example.com;
root /var/www/element/current;
index index.html;
access_log /var/log/nginx/element.access.log;
error_log /var/log/nginx/element.error.log;
add_header Referrer-Policy "strict-origin" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
# Configuração TLS
ssl_certificate /etc/letsencrypt/live/element.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/element.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/element.example.com/chain.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
}
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Verifique a sintaxe do arquivo de configuração do Nginx.
$ sudo nginx -t
nginx: o arquivo de configuração /etc/nginx/nginx.conf a sintaxe está ok
nginx: teste do arquivo de configuração /etc/nginx/nginx.conf bem-sucedido
Reinicie o serviço Nginx.
$ sudo systemctl restart nginx
Você pode acessar o cliente Element através da URL https://element.example.com em seu navegador. Faça login e você será levado ao painel do aplicativo.

Conclusão
Isso conclui nosso tutorial sobre a instalação do servidor de chat Matrix Synapse junto com Coturn e o cliente web Element usando o Nginx como servidor proxy. Se você tiver alguma dúvida, poste nos comentários abaixo.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.