Matrix bridge
We have already described Matrix on this digital notebook.
You can install bridges or bots for Matrix.
There are several bridges for Matrix; basically, these are applications by which you can create a link (a bridge) with other messaging apps.
In this contribution we will refer only to the following mautrix-bridges:
Basically, by installing one of the mentioned bridges, you can use the Matrix client (in our case Element) also to send and receive messages with Telegram and Signal. Eventually, except for a few cases, opening the reference app is no longer necessary.
Mautrix-Telegram Bridge
You can find instructions on installing and configuring the Telegram bridge on the set up page.
Requirements
Requirements for the installation of the Matrix-Telegram bridge are in the paragraph (Requirements) that any way we report below:
- Python 3.8 or higher with
pip
andvirtualenv
. - A Matrix homeserver that supports application services (e.g. Synapse). You need access to register an appservice, which usually involves editing the homeserver config file.
- A PostgreSQL server, v10 or higher (which you should already have for Synapse).
- Make sure you don’t share databases between unrelated programs. Shared postgres instance is fine, but shared database is not.
- If installing optional dependencies, see the optional dependencies page.
- Telegram app ID and hash (get from my.telegram.org).
- LottieConverter if you want animated stickers to be converted to something viewable on Matrix.
- ffmpeg to transcode audio files (just install it with your system package manager).
Installation
Follow the instructions (points 0 to 7) in the Production setup section for installation.
Upgrade
When a new version of the bridge is released, you should upgrade it. It is straightforward because it is enough to do what is indicated in points 1 and 2 of the installation instructions.
Regarding the upgrade procedure, we have realized a bash script for Ubuntu server 20.04 that speeds up the activities significantly when you should upgrade several bridges.
The script is the following:
#!/bin/bash
echo '################################'
echo '### Upgrade mautrix-telegram ###'
echo '################################'
cd PATH #(indicate the path where the bridge has been installed - e.g. /opt/mautrix-telegram)
systemctl stop mautrix-telegram
source ./bin/activate
pip install --upgrade mautrix-telegram[all]
deactivate
chown -R mautrix-telegram PATH #(indicare il percorso dov'è stato installato il bridge - es. /opt/mautrix-telegram)
systemctl start mautrix-telegram
To execute the script, you have before to:
- create a file like
mautrix-telegram_upgrade.sh
by the commandtouch mautrix-telegram_upgrade.sh
- run
nano mautrix-telegram_upgrade.sh
- past the script content
- close the editor with CRTL+X and select Y to save the file in a folder different from where the bridge is installed (for example, in
/opt
if the bridge is in/opt/mautrix-telegram
). - attribute the permissions with the command
chmod 777 -R mautrix-telegram_upgrade.sh
To execute the script, run ./mautrix-telegram_upgrade.sh
Please, note we choose the file name mautrix-telegram_upgrade.sh
but you can choose another one.
Mautrix-Signal Bridge
For the Mautrix-Signal bridge, the procedure is very similar - if not identical - to that for the Mautrix-Telegram bridge.
You can find Requirements and Installation instructions at this page.
Upgrade
To Upgrade the Mautrix-Signal bridge, something changes.
Here is the script we have prepared:
#!/bin/bash
echo '#############################'
echo '## Upgrade mautrix-signal ##'
echo '#############################'
cd PATH #(indicate the path where the bridge has been installed - e.g. /opt/mautrix-signal)
systemctl stop mautrix-signal
git pull
source .venv/bin/activate
pip install --upgrade -r optional-requirements.txt -r requirements.txt
deactivate
systemctl start mautrix-signal
As you can see, to Mautrix-Signal bridge requires that you must first run the git pull
command.
To execute the script, you have before to:
- create a file like
mautrix-signal_upgrade.sh
by the commandtouch mautrix-signal_upgrade.sh
- run
nano mautrix-signal_upgrade.sh
- past the script content
- close the editor with CRTL+X and select Y to save the file in a folder different from where the bridge is installed (for example, in
/opt
if the bridge is in/opt/mautrix-signal
). - attribute the permissions with the command
chmod 777 -R mautrix-signal_upgrade.sh
To execute the script, run ./mautrix-signal_upgrade.sh
Please, note we choose the file name mautrix-signal_upgrade.sh
but you can choose another one.
Matrix bot
Bots have also been developed for Matrix.
In particular, the maubot bot has been developed to which you can use plugins.
Available plugins for maubot are listed at this page.
Maubot Upgrade
To upgrade Maubot we created the following script:
#!/bin/bash
echo '#############################'
echo '###### Upgrade maubot #######'
echo '#############################'
cd /opt/maubot
systemctl stop maubot
source ./bin/activate
pip install --upgrade maubot
deactivate
chown -R maubot /opt/maubot
systemctl start maubot
To execute the script, you have before to:
- create a file like
maubot_upgrade.sh
by the commandtouch maubot_upgrade.sh
- run
nano maubot_upgrade.sh
- past the script content
- close the editor with CRTL+X and select Y to save the file in a folder different from where the bridge is installed (for example, in
/opt
if the bridge is in/opt/maubot
). - attribute the permissions with the command
chmod 777 -R maubot_upgrade.sh
To execute the script, run ./maubot_upgrade.sh
Please, note we choose the file name maubot_upgrade.sh
but you can choose another one.
If this resource was helpful, you could contribute by
Or donate via
Follow us on Mastodon
Stay tuned!