serveur_hebergement:matrix:installer_un_pont_discord_-_matrix

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
serveur_hebergement:matrix:installer_un_pont_discord_-_matrix [2022/10/07 11:49] – [Création de la base de données] fateserveur_hebergement:matrix:installer_un_pont_discord_-_matrix [2023/08/08 14:00] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 ====== Installer un pont Discord - Matrix ====== ====== Installer un pont Discord - Matrix ======
  
-Pour créer un pont entre Matrix et Discord, nous allons utiliser [[https://github.com/Half-Shot/matrix-appservice-discord|matrix-appservice-discord]]+Pour créer un pont entre Matrix et Discord, nous allons utiliser [[https://github.com/mautrix/discord|mautrix-discord]]
  
-===== Prérequis =====+====== Prérequis ======
  
 Il vous faut un serveur Matrix, Synapse par exemple, et PostgreSQL. Je pars du principe que vous avez suivi le tuto sur comment [[serveur_hebergement:matrix:installer_matrix|Installer Matrix]] et que vous avez déjà ces deux logiciels d'installés. Il vous faut un serveur Matrix, Synapse par exemple, et PostgreSQL. Je pars du principe que vous avez suivi le tuto sur comment [[serveur_hebergement:matrix:installer_matrix|Installer Matrix]] et que vous avez déjà ces deux logiciels d'installés.
-Il vous faut également être administrateur d'un server discord et avoir créé un bot avec les Privileged Gateway Intents d'activés (pour créer un bot, allez sur le [[https://discord.com/developers/applications|portail dev de Discord]] et créez une application et un bot). 
  
-==== Node ====+Lancez la commande suivante pour installer Libolm, nécessaire au chiffrement : 
 +<code bash>sudo aptitude install libolm-dev python3-dev build-essential</code>
  
-Installez Node, npm ainsi que le paquet eslint 
-<code bash>sudo aptitude install node npm eslint</code> 
  
-===== matrix-appservice-discord ===== 
  
-==== Installation ====+===== Installation =====
  
-Récupérez les sources +Récupérez le fichier binaire correspondant à votre architecture [[https://mau.dev/mautrix/discord/-/pipelines?scope=branches&page=1|ici]]
-<code bash>git clone https://github.com/Half-Shot/matrix-appservice-discord.git</code>+
  
-Accédez au dossier créé +L'installation est finie (c'était rapide), on peut passer à la configuration
-<code bash>cd matrix-appservice-discord</code>+
  
-Installez les dépendances +===== Configuration =====
-<code bash>npm install</code> +
- +
-Lancez la compilation +
-<code bash>npm run build</code> +
- +
-L'installation est finie, on peut passer à la configuration +
- +
-==== Configuration ====+
  
 Créez une copie du fichier example-config.yaml Créez une copie du fichier example-config.yaml
-<code bash>cp config/config.sample.yaml config.yaml</code>+<code bash>cp config.sample.yaml config.yaml</code>
  
 Ouvrez le fichier config.yaml.  Ouvrez le fichier config.yaml. 
Ligne 44: Ligne 31:
 Si le serveur Matrix tourne sur une autre machine, indiquez l'url du serveur Matrix. Si le serveur Matrix tourne sur une autre machine, indiquez l'url du serveur Matrix.
  
-Dans la partie "auth", renseignez le clientID et le botToken du bot Discord. 
-Le clientID correspond à l'Application ID que vous trouverez dans le menu General Information de votre application sur le portail dev de Discord. 
-Le botToken se trouve dans le menu Bot de la même page. 
-Passez également la variable <code>usePrivilegedIntents</code> à True. 
- 
-Commentez la ligne 
-<code>filename: "discord.db"</code> 
 Remplacer la ligne Remplacer la ligne
-<code># connString"postgresql://user:password@localhost/database_name"</code>+<code>uripostgres://user:password@host/database?sslmode=disable</code>
 par par
-<code>connString"postgresql://discordbridge:motdepasse@localhost:5432/discordbridge"</code>+<code>uri: postgresql://discordbridge:motdepasse@localhost:5432/discordbridge?sslmode=disable"</code>
 Mettez le mot de passe de votre choix, on créera la base de données plus tard. Mettez le mot de passe de votre choix, on créera la base de données plus tard.
 +
 +Dans la partie “permissions”, adaptez les lignes à votre cas. Dans mon cas, je n'ai qu'un seul utilisateur qui est admin. J'ai donc que la ligne
 +<code>"@fate:matrix.nomdedomaine.fr": admin</code>
 +
 +Remplacez “fate” par votre nom d'utilisateur ainsi que “nomdedomaine.fr” par l'url d'accès à votre serveur Matrix. 
 +
 +Dans la partie “encryption”, passez les options “allow” et “default” à true pour activer le chiffrement entre le pont et le serveur Matrix 
  
 Passons à la base de données Passons à la base de données
  
-==== Création de la base de données ====+===== Création de la base de données =====
  
 Connectez-vous avec l'utilisateur postgres Connectez-vous avec l'utilisateur postgres
Ligne 80: Ligne 67:
 <code bash>exit</code> <code bash>exit</code>
  
-==== Registration.yaml ====+===== Registration.yaml =====
  
 Les ponts ont besoin d'un fichier registration.yaml pour avoir certain droits sur votre serveur. Pour le créer, lancez la commande suivante Les ponts ont besoin d'un fichier registration.yaml pour avoir certain droits sur votre serveur. Pour le créer, lancez la commande suivante
-<code bash>node build/src/discordas.js --u "http://localhost:9005" -c config.yaml</code>+<code bash>./mautrix-discord -g</code>
  
-Ensuite ouvrez le fichier homeserver.yaml de votre serveur et indiquez l'emplacement du fichier registration après la ligne "app_service_config_files:"+Le fichier généré doit être visible par l'utilisateur exécutant Matrix : 
 +<code bash>chmod 644 registration.yaml</code> 
 + 
 +Ensuite ouvrez le fichier homeserver.yaml de votre serveur et indiquez l'emplacement du fichier registration après la ligne "app_service_config_files:". Par exemple :
 <code> <code>
 # A list of application service config file to use # A list of application service config file to use
 app_service_config_files: app_service_config_files:
-- "/home/pi/matrix-appservice-discord/discord-registration.yaml"+- "/home/pi/mautrix-discord/registration.yaml"
 </code> </code>
  
Ligne 95: Ligne 85:
 <code bash>sudo systemctl restart matrix-synapse.service</code> <code bash>sudo systemctl restart matrix-synapse.service</code>
  
-Lancez la commande suivante afin d'obtenir un lien d'autorisation pour le bot +====== Lancement du pont via Systemd ======
-<code bash>npm run addbot</code> +
- +
-===== Lancement du pont via Systemd =====+
  
 Créez le fichier  Créez le fichier 
-<code>/etc/systemd/system/matrix-appservice-discord.service</code>+<code>/etc/systemd/system/mautrix-discord.service</code>
  
-Copiez les lignes suivantes dedans+Copiez les lignes suivantes dedans (adaptez les chemins et utilisateur) :
 <code> <code>
 [Unit] [Unit]
-Description=matrix-discord bridge +Description=mautrix-discord bridge
-After=matrix-synapse.service postgresql.service+
  
 [Service] [Service]
-WorkingDirectory=/home/pi/matrix-appservice-discord +Type=exec 
-ExecStart=npm start+Restart=on-failure 
 +RestartSec=30s 
 +WorkingDirectory=/home/pi/mautrix-discord/ 
 +ExecStart=/home/pi/mautrix-discord/mautrix-discord
 User=pi User=pi
 +
 +# Optional hardening to improve security
 +ReadWritePaths=/home/pi/mautrix-discord
 +NoNewPrivileges=yes
 +MemoryDenyWriteExecute=true
 +PrivateDevices=yes
 +PrivateTmp=yes
 +ProtectSystem=strict
 +ProtectControlGroups=true
 +RestrictSUIDSGID=true
 +RestrictRealtime=true
 +LockPersonality=true
 +ProtectKernelLogs=true
 +ProtectKernelTunables=true
 +ProtectHostname=true
 +ProtectKernelModules=true
 +PrivateUsers=true
 +ProtectClock=true
 +SystemCallArchitectures=native
 +SystemCallErrorNumber=EPERM
 +SystemCallFilter=@system-service
  
 [Install] [Install]
 WantedBy=multi-user.target WantedBy=multi-user.target
 +
 </code> </code>
 Modifier les chemins et le nom de l'utilisateur si besoin. Modifier les chemins et le nom de l'utilisateur si besoin.
  
 Activez le service au démarrage Activez le service au démarrage
-<code bash>sudo systemctl enable matrix-appservice-discord.service</code>+<code bash>sudo systemctl enable mautrix-discord.service</code>
  
 Démarrez le service Démarrez le service
-<code bash>sudo systemctl start matrix-appservice-discord.service</code>+<code bash>sudo systemctl start mautrix-discord.service</code> 
 + 
 +====== Configurer le pont ====== 
 + 
 +Installez l'application mobile Discord et connectez-vous à votre compte.
  
-===== Rejoindre un channel Discord =====+Dans votre client Matrix (Element), lancez une conversation avec @discordbot:matrix.domaine.fr. Tapez la commande <code>login</code>  
 +Scannez le code-barre qui apparaît avec l'application mobile Discord.
  
-Dans votre client Matrix (Element)accédez au salon #_discord_guildid_channelid:votre.serveur afin que le bot rejoigne un channel sur votre serveur Discord et crée un salon côté Matrix. +Pour afficher les serveurs discords auxquels vous êtes connectéstapez la commande <code>guilds status</code> 
-Vous trouverez le "guildid" et le "channelid" dans l'url lorsque vous vous trouvez sur votre channel Discord sous la forme "https://discord.com/channels/GUILDID/CHANNELID"+Pour se connecter avec le pont à un serveur, tapez <code>guilds bridge IdDuServeur</code>
  
  
  • serveur_hebergement/matrix/installer_un_pont_discord_-_matrix.1665143361.txt.gz
  • Dernière modification : 2023/08/08 14:01
  • (modification externe)