Différences
Ci-dessous, les différences entre deux révisions de la page.
| 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] fate | serveur_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:// | + | Pour créer un pont entre Matrix et Discord, nous allons utiliser [[https:// |
| - | ===== 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: | 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: | ||
| - | Il vous faut également être administrateur d'un server discord et avoir créé un bot avec les Privileged Gateway Intents d' | ||
| - | ==== Node ==== | + | Lancez la commande suivante pour installer Libolm, nécessaire au chiffrement : |
| + | <code bash> | ||
| - | Installez Node, npm ainsi que le paquet eslint | ||
| - | <code bash> | ||
| - | ===== matrix-appservice-discord ===== | ||
| - | ==== Installation ==== | + | ===== Installation |
| - | Récupérez | + | Récupérez |
| - | <code bash>git clone https://github.com/Half-Shot/matrix-appservice-discord.git< | + | |
| - | Accédez au dossier créé | + | L' |
| - | <code bash>cd matrix-appservice-discord</ | + | |
| - | Installez les dépendances | + | ===== Configuration |
| - | <code bash>npm install</ | + | |
| - | + | ||
| - | Lancez la compilation | + | |
| - | <code bash>npm run build</ | + | |
| - | + | ||
| - | L' | + | |
| - | + | ||
| - | ==== Configuration ==== | + | |
| Créez une copie du fichier example-config.yaml | Créez une copie du fichier example-config.yaml | ||
| - | <code bash> | + | <code bash>cp config.sample.yaml config.yaml</ |
| 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 " | ||
| - | Le clientID correspond à l' | ||
| - | Le botToken se trouve dans le menu Bot de la même page. | ||
| - | Passez également la variable < | ||
| - | |||
| - | Commentez la ligne | ||
| - | < | ||
| Remplacer la ligne | Remplacer la ligne | ||
| - | < | + | < |
| par | par | ||
| - | < | + | < |
| 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”, | ||
| + | < | ||
| + | |||
| + | Remplacez “fate” par votre nom d' | ||
| + | |||
| + | Dans la partie “encryption”, | ||
| 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' | Connectez-vous avec l' | ||
| Ligne 80: | Ligne 67: | ||
| <code bash> | <code bash> | ||
| - | ==== 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/ | + | <code bash>./mautrix-discord |
| - | Ensuite ouvrez le fichier homeserver.yaml de votre serveur et indiquez l' | + | Le fichier généré doit être visible par l' |
| + | <code bash> | ||
| + | |||
| + | Ensuite ouvrez le fichier homeserver.yaml de votre serveur et indiquez l' | ||
| < | < | ||
| # 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: | ||
| - | - "/ | + | - "/ |
| </ | </ | ||
| Ligne 95: | Ligne 85: | ||
| <code bash> | <code bash> | ||
| - | Lancez la commande suivante afin d' | + | ====== Lancement du pont via Systemd |
| - | <code bash>npm run addbot</ | + | |
| - | + | ||
| - | ===== Lancement du pont via Systemd ===== | + | |
| Créez le fichier | Créez le fichier | ||
| - | < | + | < |
| - | Copiez les lignes suivantes dedans | + | Copiez les lignes suivantes dedans |
| < | < | ||
| [Unit] | [Unit] | ||
| - | Description=matrix-discord bridge | + | Description=mautrix-discord bridge |
| - | After=matrix-synapse.service postgresql.service | + | |
| [Service] | [Service] | ||
| - | WorkingDirectory=/ | + | Type=exec |
| - | ExecStart=npm start | + | Restart=on-failure |
| + | RestartSec=30s | ||
| + | WorkingDirectory=/ | ||
| + | ExecStart=/ | ||
| User=pi | User=pi | ||
| + | |||
| + | # Optional hardening to improve security | ||
| + | ReadWritePaths=/ | ||
| + | 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 | ||
| + | |||
| </ | </ | ||
| Modifier les chemins et le nom de l' | Modifier les chemins et le nom de l' | ||
| Activez le service au démarrage | Activez le service au démarrage | ||
| - | <code bash> | + | <code bash> |
| Démarrez le service | Démarrez le service | ||
| - | <code bash> | + | <code bash> |
| + | |||
| + | ====== Configurer le pont ====== | ||
| + | |||
| + | Installez l' | ||
| - | ===== Rejoindre un channel | + | Dans votre client Matrix (Element), lancez une conversation avec @discordbot: |
| + | Scannez le code-barre qui apparaît avec l' | ||
| - | Dans votre client Matrix (Element), accédez au salon # | + | Pour afficher les serveurs discords auxquels vous êtes connectés, tapez la commande < |
| - | Vous trouverez le " | + | Pour se connecter avec le pont à un serveur, tapez < |