---
title: "Matrix : Installation d'une passerelle vers SIGNAL"
url: 'https://www.underworld.fr/blog/matrix-signal-bridge'
markdown: 'https://www.underworld.fr/blog/matrix-signal-bridge.md'
date: '2022-01-23'
description: 'OS : Debian11 Objectif : Installer une passerelle (bridge) Matrix <-> Signal Messenger. 1) Ajout des depots et dependances: => https://signald.org/articles/insta'
---

# Matrix : Installation d'une passerelle vers SIGNAL

![](https://www.underworld.fr/blog/matrix-signal-bridge/Signal-logo.png)OS : Debian11

Objectif : Installer une passerelle (bridge) Matrix <-> Signal Messenger.

### 1) Ajout des depots et dependances:

=> https://signald.org/articles/install/debian/

apt update

apt install gnupg

wget -O - https://updates.signald.org/apt-signing-key.asc | apt-key add -

echo deb https://updates.signald.org unstable main > /etc/apt/sources.list.d/signald.list

apt update

### 2) Installation SIGNALD

=> <https://gitlab.com/signald/signald/-/blob/main/docs/install/debian.md>

apt install signald

### 3) Installation MAUTRIX-SIGNAL

en tant que root:

apt install python3-olm python3-pip libolm-dev virtualenv git postgresql

adduser --disabled-login mautrix-signal

su - mautrix-signal

virtualenv -p /usr/bin/python3 .

source ./bin/activate

pip3 install --upgrade 'git+https://github.com/tulir/mautrix-signal.git#egg=mautrix-signal\[all\]'

### 4) Configuration de MAUTRIX-SIGNAL

=> <https://github.com/tulir/mautrix-signal/wiki/Bridge-setup>

en tant que root:

su postgres

Création de la base de donnée pour le bridge:

psql -c "CREATE USER "useraccount" WITH PASSWORD 'userpassword';"

psql -c "CREATE DATABASE nomdelabase ENCODING 'UTF8' LC\_COLLATE='C' LC\_CTYPE='C' template=template0 OWNER "useraccount";"

Configuration du bridge:

en tant que root:

su mautrix-signal

cd

cp example-config.yaml config.yaml

touch /home/mautrix/mautrix-signal.log

Mettre à jour le fichier en fonction de votre configuration

### 5) Configuration du serveur synapse pour activation du service mautrix

Génération du fichier registration.yaml:

python3 -m mautrix\_signal -g

Mettre le chemin du fichier registration.yaml dans le fichier homeserver.yaml (ici /etc/matrix-synapse/registration.yaml):

```
app_service_config_files:
    - /etc/matrix-synapse/registration.yaml
```

### 6) Lancer le bridge

su - mautrix

python3 -m mautrix\_signal -c /home/mautrix/config.yaml

### 7) Création du service systemd

vi /etc/systemd/system/mautrix-signal.service

ajouter:

```
[Unit]
Description=mautrix-signal Daemon
After=network-online.target

[Service]
Type=simple
User=mautrix-signal
Group=signald
WorkingDirectory=/home/mautrix-signal
ExecStartPre=/bin/sleep 10
ExecStart=/home/mautrix-signal/bin/python -m mautrix_signal -c /home/mautrix-signal/config.yaml
Restart=on-failure
RestartSec=10
SyslogIdentifier=mautrix-signal
StandardOutput=syslog
StandardError=syslog

[Install]
WantedBy=multi-user.target
```

Activation du service:

systemctl enable mautrix-signal

systemctl start mautrix-signal

### 8) Lier son compte MATRIX avec son ID Signal

Se connecter avec votre client \[MATRIX\] (ex: Element)

Commencer une nouvelle conversation avec le bot (dans mon cas : @signalbot:matrix.underworld.fr)

Lui dire "link". Il doit vous retourner un QRCode

Se connecter avec votre client SIGNAL sur smartphone, "Parametres"/"Appareils reliers"/"Relier un nouvel appareil" et scanner le QRCode

Si tout va bien, vous devriez voir vos conversations apparaitre (moyennant quelques secondes de synchro) dans votre client \[MATRIX\].

### 9) Ce qui fonctionne

Dans SIGNAL, on peut creer des GROUPE, ou discuter en "DIRECT" avec une personne (1to1).

Ce qui fonctionne pour moi:

- Dans un groupe: 
    - matrix -> signal = OK
    - signal -> matrix = OK
- Dans un 1to1: 
    - matrix -> signal = OK
    - signal -> matrix = OK SAUF pour mes propres messages (https://github.com/tulir/mautrix-signal/wiki/Authentication#double-puppeting)

Pour resoudre cela:

Se connecter avec votre client \[MATRIX\] (ex: Element)

Commencer une nouvelle conversation avec le bot (dans mon cas : @signalbot:matrix.underworld.fr)

lui dire "login-matrix

NOTA: ce jeton/token étant spécifique à votre session Element, il faut renouveller l'opération a chaque fois que vous changez de session (déconnection). Ce qui est donc "un peu ennuyeux à date".

And voila!

### 10) Merci

```
Il aura fallu 12h pour réaliser/éprouver/corriger ce tuto.

Un grand MERCI à  -> @thomas:lgy.fr [Matrix]
```

---

## Navigation

- Parent: [MEMOs](https://www.underworld.fr/blog.md)
- Previous: [Matrix : Installation du bot MAUBOT](https://www.underworld.fr/blog/matrix-installation-du-bot-maubot.md)
- Next: [Installation d'un scanner Epson V300 sous Debian10 Buster](https://www.underworld.fr/blog/epsonv300.md)
