/ Découverte

Installer un serveur Riot

La sécurité et la confidentialité des données est de nos jours au cœur de nos préoccupations, c'est pour cela que je vous  propose aujourd'hui de mettre en place un service décentralisé proposant  des fonctionnalités ainsi qu'une interface aussi innovante du célèbre Discord, mais dont vous aurez une complète maîtrise.

Et bien c'est ce que propose Riot (et non je ne parle pas de League of Legends), un service web permettant de se connecter à Matrix (non il n´y a également aucun rapport avec le film) qui n'est ni plus ni moins qu'un serveur de tchat libre décentralisé, mais qui contrairement à Discord propose le chiffrement de vos messages dès la première déconnexion en sauvegardant la clé sur votre ordinateur.

Nous allons réaliser l´installation avec notre cher ami Docker.

Prérequis

  • Docker
  • Docker Compose
  • Let's Encrypt
  • Nginx

Installation

sudo mkdir -p /opt/riot
cd /opt/riot
sudo wget https://get.nexart.fr/upload/BLOG/docker-riot-install.zip
sudo unzip *.zip
sudo rm -rf *.zip

Vous devez avoir quatre fichiers :

  • .env (visible en faisant un ls -lisah)
  • config.json
  • nginx.conf
  • docker-compose.yml

On modifie le fichier .env en remplaçant la variable "FQDN" par l'adresse qui sera utiliser pour y accéder et on termine par l'affectation d'un mot de passe "POSTGRES_PASSWORD" pour le serveur PostgreSQL.

FQDN=discord.exemple.com
POSTGRES_PASSWORD=sn0wd3n&m@triX

On modifie le fichier "config.json" pour y inscrire l'adresse qui permettra d'accéder au site puis on termine par définir le nom de notre entité dont le nom n'a pas vraiment d'importance.

{
    "default_hs_url": "https://discord.exemple.com",
    "brand": "SNOWDEN",
...
sudo docker-compose up -d

Reverse Proxy Nginx

Pour en savoir plus je vous invite à vous rendre sur un de mes autres articles à l'adresse suivante : https://keep.nexart.fr/2017/08/06/script-nginx/.

sudo vi /etc/nginx/sites-enabled/discord.exemple.com.vhost
location / {
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
		proxy_set_header   X-Real-IP $remote_addr;
		proxy_set_header   Host      $http_host;
        proxy_pass http://localhost:2003;
}
sudo systemctl reload nginx

Résultat

En vous rendant à l'adresse https://discord.exemple.com, vous devriez obtenir ce type de page qui indique simplement que le serveur Matrix est en vie.

Pour accéder au service Riot il faut modifier l'adresse URL par https://discord.exemple.com/riot/ et vous devriez obtenir ceci :

Bien évidemment si vous ne souhaitez pas utiliser une interface WEB, vous avez toujours la possibilité de récupérer l'application pour votre appareil depuis l'adresse : https://about.riot.im/downloads.