# Matrix Telegram Bridge установка в докер контейнере

**URL:** <https://383.su/t/matrix-telegram-bridge-ustanovka-v-doker-kontejnere/145>\
**Category:** Софт\
**Created:** [29.Август.2023 17:10:33 UTC](https://383.su/t/matrix-telegram-bridge-ustanovka-v-doker-kontejnere/145 "2023-08-29T17:10:33Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![GGG](https://383.su/user_avatar/383.su/ggg/32/680_2.png) [@GGG](https://383.su/u/GGG)\
**Post date:** [29.Август.2023 17:10:33 UTC](https://383.su/t/matrix-telegram-bridge-ustanovka-v-doker-kontejnere/145/1 "2023-08-29T17:10:33Z")

</div>

![Matrix Telegram Bridge](https://383.su/uploads/default/original/1X/7e547ee2562ec30f8adb219b2175184476fa53bd.png)

Настройка своего моста

## API регистрация

Нужно зарегать своё приложение тут: [register](https://my.telegram.org/apps?ref=toxblh.com) записываем/держим открытым, чтобы забрать api\_id и api\_hash для моста и может ещё адреса

## Регистрация бота

Идём к папочке ботов [BotFather](https://t.me/BotFather?ref=toxblh.com)  
И создаём бота

```auto
/start
/newbot
Название бота - например Matrix Bridge
username бота - например example_matrix_bot

```

В итоге получите:

```auto
Done! Congratulations on your new bot. You will find it at t.me/example_bot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you've finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this.

Use this token to access the HTTP API:
123456789:abcdefghijklmniopqrstuvwxyzABCDEFGH
Keep your token secure and store it safely, it can be used by anyone to control your bot.

For a description of the Bot API, see this page: https://core.telegram.org/bots/api

```

Отсюда нам нужно взять только BOT TOKEN: `123456789:abcdefghijklmniopqrstuvwxyzABCDEFGH`

`/start` - чтобы активировать бота

## Установка софта

Покажу на примере установки в докере с docker-compose

```auto
version: "3"

services:
  synapse:
    image: matrixdotorg/synapse:latest
    restart: unless-stopped
    ports:
     - 8008:8008
    volumes:
     - ./synapse:/data

  turn:
    image: coturn/coturn:latest
    restart: unless-stopped
    user: 998:997
    ports:
     - 3478:3478
     - 3478:3478/udp
     - 5349:5349
     - 5349:5349/udp
     - 49160-49200:49160-49200/udp
    volumes:
     - ./turnserver.conf:/etc/coturn/turnserver.conf:ro
     - /path/to/file.crt:/etc/turn-cert/cert.crt
     - /path/to/file.key:/etc/turn-cert/private.key

  mautrix-telegram:
    container_name: mautrix-telegram
    image: dock.mau.dev/mautrix/telegram:latest
    restart: unless-stopped
    volumes:
    - ./mautrix-telegram:/data

```

Записали в `docker-compose.yaml` это всё и запускаем  
`docker-compose up -d`

В папке `./mautrix-telegram` появится файл `config.yaml` открываем его в любом редакторе с sudo, у меня это micro - `sudo micro ./mautrix-telegram/config.yaml` оставил только то, что следует менять, остальное можно не трогать

```auto
homeserver:
    # Меняем на свой, это адрес как подключиться к вашему серверу извне
    address: https://matrix.example.org 
    # Домен домашнего сервера (for MXIDs, etc).
    domain: matrix.example.org

appservice:
	# Адрес как внутри докера достучаться до моста из домашнего сервера, для docker-compose это название сервиса, что мы указали mautrix-telegram
    address: http://mautrix-telegram:29317
   
	# База будет самый простой sqlite, если есть постгресс, в официальном примере есть он, я использую sqlite
    database: sqlite:////data/filename.db
# Разрешения на использование моста.
# Допустимые значения:
# relaybot - Использовать мост только через relaybot, без доступа к командам.
# user - уровень Relaybot + доступ к командам для создания мостов.
# puppeting - Уровень пользователя + вход с учетной записью Telegram.
# full -Полный доступ к использованию моста, т.е. предыдущие уровни + вход в Matrix.
# admin -Полный доступ для использования моста и некоторых дополнительных команд администрирования.
# Разрешенные ключи:
# * - Все Matrix пользователи
# domain - Все пользователи на этом домашнем сервере
# mxid - Конкретный пользователь
# 
# Указываем, что все могут только просто писать без команд. 
# А так же назначаем себя админом, скопировать можно в описании своего профиля
permissions:
    "*": "relaybot"
    "@admin:matrix.example.org": "admin"

# Вот то что сохранили или оставили открым с самого начала
# Заполняем app_id, app_hash c первого шага, bot_token который получили от BotFather
telegram:
    api_id: 123456
    api_hash: secret_hash
    bot_token: bot_token

```

Сохраняемся - если всё успешно, то появиться файл - `registration.yaml`  
копируем его в папку `./synapse` можно с переименованием  
`sudo cp ./mautrix-telegram/registration.yaml ./synapse/registration_telegram.yaml`

Далее заходим в настройки synapse - `sudo micro ./synapse/homeserver` находим закомментированный пункт `app_service_config_files` раскомментируем и добавляем наш файл.

```auto
app_service_config_files:
  - /data/registration_telegram.yaml

```

Перезапускаем всё `docker-compose down && docker-compose up -d`

В телеграме

1. Добавляете бота которого создали в свой чат
2. Назначаете администратором
3. Пишете в чат команду `/id` бот ответит id команты, например `-100004314`

В Матриксе

1. Создаёте комнату, которая будет чатом
2. Приглашаете себе @telegrambot:ваш.matrix-server.com
3. Пишем `!tg bridge` и далее id из телеграма, будет как то там `!tg bridge -100004314`
4. Мост попросит подтверждения, отвечаем продолжить `!tg continue`

Полезные ссылки, источники  
[https://wiki.calculate-linux.org/matrix\_telegram\_bridge](https://wiki.calculate-linux.org/matrix_telegram_bridge?ref=toxblh.com)  
[https://docs.mau.fi/bridges/general/troubleshooting.html](https://docs.mau.fi/bridges/general/troubleshooting.html?ref=toxblh.com)  
[https://docs.mau.fi/bridges/general/docker-setup](https://docs.mau.fi/bridges/general/docker-setup.html?ref=toxblh.com)
