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.
Ressources
Sommaire
- Prérequis
- Installer Node.js
- Installation
- Configuration
- Connexion à Discut.Biz
- Démarrage automatique
- Configuration avec Nginx
- Configuration avec Apache
- Sécurité
- Liens utiles
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.