Альтернатива Telegram в России: запуск собственного Matrix-сервера через Docker Compose
Предыстория:
На фоне ограничений, блокировок и нестабильной работы популярных мессенджеров в России всё больше пользователей начинают искать альтернативы Telegram, WhatsApp, Discord и другим централизованным платформам. Особенно востребованы решения, которые не зависят от одной компании, позволяют самостоятельно контролировать инфраструктуру и которые значительно сложнее ограничить или полностью заблокировать целиком.
Одним из таких решений является Matrix -- открытый федеративный протокол для обмена сообщениями в реальном времени. В отличие от классических мессенджеров, где вся система целиком принадлежит одному оператору, сеть Matrix состоит из множества независимых серверов, которые взаимодействуют между собой по единым правилам.
Каждый такой сервер называется homeserver. На нём могут регистрироваться пользователи, храниться данные, обслуживаться комнаты, сообщения и звонки. При этом пользователи разных серверов могут свободно общаться друг с другом в рамках общей сети. Именно такая архитектура делает Matrix заметно более устойчивым к точечным блокировкам, отказам отдельных узлов и зависимости от одного поставщика сервиса.
Поэтому, если вам нужна альтернатива Telegram в России, безопасный мессенджер, альтернатива MAX или просто собственная независимая система связи для семьи, команды или сообщества, Matrix -- один из самых интересных и практичных вариантов.
Этот гайд рассчитан на тех, кто в целом знаком с Linux, DNS и Docker, но хочет пройти путь с нуля и не пропустить важные детали при самостоятельном запуске сервера.
Что получится в итоге:
После выполнения этого гайда у вас будет:
- собственный Matrix-сервер на домашнем железе;
- рабочая федерация;
- поддержка звонков через Element X / Element Call;
- регистрация пользователей через Synapse Admin;
- независимая база для личного, семейного или командного общения.
Что нужно подготовить заранее:
1. Статический публичный IP
Проверьте в личном кабинете провайдера, доступна ли услуга статического публичного IP-адреса. У многих провайдеров она подключается отдельно.
2. Домен
Купите домен у любого провайдера доменов. Для пользователей из России это может быть, например, reg.ru, но в целом подойдёт любой удобный вариант. Сам домен обычно стоит недорого, однако с продлением и дополнительными услугами общая сумма за год может быть выше базовой цены.
3. Стабильное подключение сервера к интернету
Лучше всего использовать проводное подключение к роутеру по RJ-45. Также заранее узнайте локальный IP-адрес сервера в домашней сети, например:
192.168.0.172
4. Сервер и доступ по SSH
Для запуска Matrix подойдёт практически любой компьютер, включая старый ноутбук или компактный домашний сервер.
Рекомендации:
- лучше использовать
Ubuntu Serverили другой Debian-based дистрибутив; - Windows в качестве хоста для такого сценария не рекомендуется;
- доступ к серверу должен быть настроен по SSH.
Пример подключения:
ssh user@server_ip
5. Docker и Docker Compose
На сервере должны быть установлены Docker и Docker Compose. Для такого сценария это один из самых простых и удобных способов развернуть стек Matrix-сервисов.
Примечание: в этом гайде предполагается, что у вас уже есть рабочий
Nginx Proxy Manager.
Шаг 1. Настройка DNS в Cloudflare:
1.1 NS-записи
У провайдера вашего домена пропишите NS-серверы Cloudflare, которые были выданы для вашей зоны.
Параметры обычно выглядят так:
Type:NSName:@или корень зоныContent: NS-серверы от CloudflareProxy:DNS onlyTTL:Auto
1.2 Запись для Matrix
Создайте CNAME-запись:
Type:CNAMEName:matrixTarget:example.com-- ваш основной доменProxy status:DNS onlyTTL:Auto
Эта запись нужна для основного Matrix-хоста:
matrix.example.com
Именно к нему будут подключаться клиенты.

1.3 Запись для звонков (RTC)
Создайте A-запись:
Type:AName:matrixrtcIPv4:<ваш_публичный_IP>Proxy status:DNS onlyTTL:Auto
Эта запись понадобится для сервиса звонков.

Для пользователей из России режим DNS only особенно важен: при проксировании через Cloudflare часть пользователей может сталкиваться с проблемами доступа к серверу без VPN.
Шаг 2. Настройка Nginx Proxy Manager:
В этой конфигурации понадобятся два proxy host:
matrix.example.commatrixrtc.example.com
2.1 Proxy Host для matrix.example.com
Во вкладке Details укажите:
Domain Names:matrix.example.comScheme:httpForward Hostname / IP: локальный IP вашего сервера, например192.168.0.172Forward Port:8008Access List:Publicly AccessibleCache Assets:ONBlock Common Exploits:ONWebsockets Support:ON

Во вкладке Custom Locations добавьте две записи.
Location 1: /.well-known/matrix/server
Параметры:
Scheme:httpForward Hostname / IP:127.0.0.1Forward Port:65535
В поле Custom Nginx Configuration вставьте:
default_type application/json;
add_header Access-Control-Allow-Origin *;
return 200 '{"m.server":"matrix.example.com:443"}';

Location 2: /.well-known/matrix/client
Параметры:
Scheme:httpForward Hostname / IP:127.0.0.1Forward Port:65535
В поле Custom Nginx Configuration вставьте:
default_type application/json;
add_header Access-Control-Allow-Origin *;
return 200 '{
"m.homeserver": { "base_url": "https://matrix.example.com" },
"org.matrix.msc4143.rtc_foci": [
{
"type": "livekit",
"livekit_service_url": "https://matrixrtc.example.com/livekit/jwt"
}
]
}';

Эти эндпоинты нужны для следующего:
/.well-known/matrix/serverсообщает федерации, куда обращаться для связи с вашим сервером;/.well-known/matrix/clientсообщает клиентам Matrix, какой сервер использовать и где расположен сервис звонков.
Во вкладке SSL включите:
- сертификат: wildcard или обычный сертификат для вашего домена, например
*.example.com Force SSL:ONHTTP/2 Support:ONHSTS Enabled:ONHSTS Subdomains:OFF

2.2 Proxy Host для matrixrtc.example.com
Во вкладке Details укажите:
Domain Names:matrixrtc.example.comScheme:httpForward Hostname / IP: локальный IP сервера, например192.168.0.172Forward Port:7880Access List:Publicly AccessibleWebsockets Support:ONCache Assets:OFFBlock Common Exploits:OFF

Для matrixrtc Custom Locations не требуются.
Во вкладке SSL включите:
- сертификат:
*.example.com Force SSL:ONHTTP/2 Support:ONHSTS Enabled:OFF

Шаг 3. Проброс портов на роутере:
На вашем роутере необходимо открыть и пробросить порты на локальный IP сервера.
В рассматриваемом примере нужны:
7881/TCP→192.168.0.172:7881-- LiveKit50100-50200/UDP→192.168.0.172:50100-50200-- медиатрафик LiveKit5349/TCP→192.168.0.172:5349-- TURN over TLS3478/UDP→192.168.0.172:3478-- TURN
Важно понимать, что интерфейс у каждого роутера свой, однако сам принцип настройки везде одинаков: внешний порт должен перенаправляться на внутренний адрес и порт вашего сервера.

Шаг 4. Запуск Matrix-стека:
В первую очередь вам стоит скачать docker compose конфиг (GitHub repo):
git clone [email protected]:inne-dev/matrix-server.git
Далее переходим в папку с проектом:
cd matrix-server
Для быстрого старта используйте шаблон окружения:
cp .env.example .env
После этого отредактируйте файл .env и обязательно укажите:
MATRIX_DOMAINнадёжные секреты для:
POSTGRES_PASSWORDSYNAPSE_*_SECRETTURN_PASSWORDLIVEKIT_SECRET
Затем сгенерируйте runtime-конфиги:
./scripts/render-configs.sh
После генерации конфигурации поднимите сервисы:
docker compose up -d
Для проверки состояния контейнеров используйте:
docker compose ps
docker compose logs --tail=100 synapse
Шаг 5. Создание первого пользователя:
После запуска стека создайте первого пользователя с помощью встроенной утилиты Synapse из запущенного контейнера:
docker exec -it synapse register_new_matrix_user \
-c /data/homeserver.yaml \
http://localhost:8008
Далее мастер создания пользователя в интерактивном режиме спросит:
- имя пользователя;
- пароль;
- нужно ли выдать права администратора.
Шаг 6. Подключение клиентов:
В качестве клиентов можно использовать:
- на смартфоне -- Element X
- на компьютере -- Element Desktop
При входе укажите кастомный homeserver, например:
https://matrix.example.com
После этого вы сможете войти в свой аккаунт, подключиться к серверу и начать использовать собственную Matrix-инфраструктуру.
Кому подойдёт этот гайд:
Этот материал будет полезен, если вы ищете:
- альтернативу Telegram в России;
- безопасный мессенджер для личного использования;
- альтернативу MAX;
- open source мессенджер для команды или сообщества;
- способ поднять свой мессенджер на домашнем сервере;
- решение, которое не зависит от одной компании и/или патформы.
Итоги:
В результате вы получаете собственный независимый контур связи. Такой сервер можно использовать для личного общения, общения внутри семьи, небольших команд, закрытых сообществ или технических проектов, где важны контроль над инфраструктурой, автономность и предсказуемость работы.
Главное преимущество Matrix заключается в том, что это не централизованный мессенджер, полностью завязанный на одного оператора. Это открытая федеративная сеть, в которой вы можете развернуть собственный homeserver, самостоятельно управлять пользователями, подключать клиентов и при необходимости расширять систему дополнительными сервисами.
Если вам нужна альтернатива Telegram, безопасная альтернатива MAX, собственный мессенджер на домашнем сервере или просто более независимый способ поддерживать связь, Matrix выглядит одним из самых сильных доступных вариантов. Да, у такого подхода есть порог входа: нужно разобраться с DNS, сертификатами, обратным прокси, пробросом портов и базовой настройкой контейнеров. Но взамен вы получаете гибкость, независимость и контроль, которых нет у большинства потребительских платформ.
FAQ:
Matrix -- это альтернатива Telegram?
Да. Matrix можно рассматривать как полноценную альтернативу Telegram, особенно если для вас важны открытый протокол, возможность поднять собственный сервер и меньшая зависимость от одной компании.
Можно ли использовать Matrix в России?
Да. При наличии собственного homeserver, корректной настройки DNS, reverse proxy и федерации Matrix может использоваться как личный или командный мессенджер.
Оставить комментарий