TLS/SSL · Port 6697 matrix-irc.discut.biz
Accueil Guides IRC The Lounge – Webchat IRC…
Bots & Webchat

The Lounge – Webchat IRC

Guide d'installation de The Lounge

The Lounge est un client IRC moderne fonctionnant directement depuis un navigateur Web. Il permet d'accéder à IRC depuis n'importe quel appareil, tout en restant connecté en permanence grâce à son fonctionnement côté serveur.

Sommaire


Prérequis

Avant de commencer, assure-toi de disposer de :

  • Un serveur Linux (Debian ou Ubuntu recommandé).
  • Node.js LTS (version 18 ou supérieure).
  • npm installé.
  • Un utilisateur dédié (ex. thelounge).
  • Nginx ou Apache si tu souhaites utiliser HTTPS.

Installer Node.js

Si Node.js n'est pas encore installé :

sudo apt update
sudo apt install -y nodejs npm

Pour gérer plusieurs versions de Node.js, tu peux utiliser nvm.


Installer The Lounge

Installe The Lounge globalement :

sudo npm install -g thelounge

Crée ensuite un utilisateur dédié :

sudo useradd -m -s /bin/bash thelounge

Configuration

Connecte-toi sous l'utilisateur thelounge puis crée le premier compte :

sudo -iu thelounge
thelounge add admin

Démarre ensuite The Lounge :

thelounge start

Par défaut, le service écoute sur :

127.0.0.1:9000

Il est recommandé de publier cette instance derrière un reverse proxy HTTPS.


Connexion au réseau Discut.Biz

Depuis l'interface Web de The Lounge, crée un nouveau réseau avec les paramètres suivants :

Serveur     : matrix-irc.discut.biz
Port        : 6697
SSL/TLS     : Activé
Auto-join   : #Aide
Pseudo      : VotrePseudo

Tu peux également configurer l'identification automatique auprès de NickServ.


Démarrage automatique (systemd)

Créer le service

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

Contenu du service

[Unit]
Description=The Lounge IRC Web Client
After=network.target

[Service]
Type=simple
User=thelounge
Group=thelounge
ExecStart=/usr/bin/thelounge start --home /home/thelounge/.thelounge
Restart=always
RestartSec=5
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

Activer le service

sudo systemctl daemon-reload
sudo systemctl enable thelounge
sudo systemctl start thelounge
sudo systemctl status thelounge --no-pager

Reverse Proxy avec Nginx

Installer Nginx

sudo apt install -y nginx

Créer le VirtualHost

sudo nano /etc/nginx/sites-available/thelounge.conf
server {
    listen 80;
    server_name thelounge.discut.biz;

    location / {
        proxy_pass http://127.0.0.1:9000;
        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;
    }
}

Activer la configuration

sudo ln -s /etc/nginx/sites-available/thelounge.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Activer HTTPS

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d thelounge.discut.biz

Reverse Proxy avec Apache

Activer les modules

sudo a2enmod proxy proxy_http proxy_wstunnel headers ssl
sudo systemctl restart apache2

Créer le VirtualHost

sudo nano /etc/apache2/sites-available/thelounge.conf
<VirtualHost *:80>
ServerName thelounge.discut.biz

ProxyPreserveHost On
ProxyRequests Off

ProxyPass        / http://127.0.0.1:9000/
ProxyPassReverse / http://127.0.0.1:9000/

ProxyPass        /socket.io/ ws://127.0.0.1:9000/socket.io/
ProxyPassReverse /socket.io/ ws://127.0.0.1:9000/socket.io/

RequestHeader set X-Forwarded-Proto "http"
RequestHeader set X-Forwarded-For "%{REMOTE_ADDR}s"
</VirtualHost>

Activer le site

sudo a2ensite thelounge.conf
sudo apache2ctl configtest
sudo systemctl reload apache2

Installer le certificat Let's Encrypt

sudo apt install -y certbot python3-certbot-apache
sudo certbot --apache -d thelounge.discut.biz

Utilise Nginx ou Apache, mais jamais les deux simultanément sur les ports 80 et 443.


Sécurité

  • Utilise un utilisateur dédié (thelounge).
  • N'exécute jamais The Lounge en tant que root.
  • Active toujours HTTPS avec Let's Encrypt.
  • Choisis des mots de passe robustes.
  • Maintiens régulièrement Node.js et The Lounge à jour.

Liens utiles