Маскот NordBastion — белый медведь — дирижирует федеративным графом из бирюзовых узловых глобусов, соединённых светящимися линиями с парящими иконками речевых пузырей, олицетворяющих сквозное шифрование, северное сияние в окнах Nordic-обсерватории
Руководство · 2 ч. практики·Обновлено в 2026 году

Self-host Matrix на VPS.
Synapse + Element. Федеративный. Со сквозным шифрованием.

Matrix — это то, как выглядел бы email, если бы он был разработан для чата в эпоху открытых протоколов. Synapse в роли домашнего сервера, Element в роли клиента, PostgreSQL в роли хранилища, Caddy в роли входной двери — и граф федеративных комнат, которым никто конкретно не владеет.

Коротко
  • 01

    Synapse — правильный домашний сервер по умолчанию в 2026 году: проверенная в продакшне, полнофункциональная эталонная реализация. Conduit и Dendrite допустимы для более узких сценариев использования.

  • 02

    Перейдите на PostgreSQL с первого дня; стандартный SQLite предназначен только для тестирования и падает при более чем нескольких пользователях. Планируйте диск для загрузки медиа — федеративные комнаты накапливают их быстро.

  • 03

    Закрытая регистрация — безопасный вариант по умолчанию. Публичная регистрация — это реальная работа по модерации; включайте её только если готовы её взять на себя.

Глава 1

Matrix в пяти предложениях. Что именно вы разворачиваете.

Matrix — это открытый протокол обмена сообщениями реального времени. Домашний сервер — это сервер, запускающий протокол; пользователи принадлежат каждый своему домашнему серверу, идентифицируясь как @alice:example.com — та же схема, что и у email. Комнаты — единицы разговора; одна комната может иметь участников с разных домашних серверов, а состояние комнаты реплицируется на все участвующие домашние серверы. Приватные комнаты шифруют каждое сообщение ключами на устройство (Olm/Megolm), так что сервер видит только зашифрованный текст. Вся сеть — это граф домашних серверов, федерирующих состояние комнат друг другу.

Интересные свойства: ни одна центральная власть не может заблокировать Matrix (протокол открытый и работает везде), пользователи разных серверов общаются прозрачно (федерация), приватные комнаты имеют настоящее сквозное шифрование (не рекламное шифрование в транзите), а пользователь может сменить домашний сервер и сохранить идентификатор, запустив собственный. Компромисс — операционная сложность: управление домашним сервером — больше работы, чем вход в Discord, и меньшая экосистема отполированных клиентов, чем у проприетарных платформ.

Что вы разворачиваете в этом руководстве: Synapse (домашний сервер), PostgreSQL (его база данных), Element Web (браузерный клиент, хостируемый с вашего домена) и Caddy (обратный прокси + автоматический TLS). Опционально — бэкенд хранения медиа и well-known эндпоинты для обнаружения федерации. Весь стек — два Docker Compose файла и одна конфигурация Caddy.

Глава 2

Масштабирование. Synapse требователен к памяти.

Synapse хранит состояние каждой комнаты в памяти, и вступление в большую федеративную комнату (например, #matrix:matrix.org с 60 000 участников) притягивает много этого состояния на ваш домашний сервер. В результате даже однопользовательский Synapse может стабильно использовать 2–3 GB RAM, если пользователь находится в загруженных федеративных комнатах. Планируйте соответственно.

Один пользователь, умеренная федерация. 2 vCPU, 4 GB RAM, 40 GB SSD. <a href="/ru/vps/" class="text-nord-cyan border-b border-nord-cyan/40 hover:border-nord-cyan transition">Тариф Ravelin ($5.90/мес.)</a> в NordBastion подобран правильно. Для активного одиночного пользователя диск растёт примерно на 10 GB в год — заложите запас на это.

Небольшая команда, 5–20 пользователей. 4 vCPU, 8 GB RAM, 100 GB SSD. Тариф Iron ($24.90/мес.) справляется с этим без труда. Запустите PostgreSQL на том же VPS — база данных умещается в свободной RAM и на диске.

Публичный домашний сервер, 100+ пользователей. При более 100 активных пользователях Synapse выигрывает от worker-процессов (отдельные federation sender, federation reader, client reader воркеры) и настроенного PostgreSQL. Тарифы Iron или Granite справляются с этим, но операционная сложность растёт нелинейно — на таком масштабе вы уже Matrix-администратор, а не просто пользователь программного обеспечения.

Реальность дискового пространства. Загрузки медиа (изображения, видео, файлы) из федеративных комнат накапливаются на вашем домашнем сервере, поскольку Matrix-федерация скачивает медиа локально для раздачи. Загруженный публичный домашний сервер может добавлять 1 GB медиа в неделю. Конфигурация media_retention Synapse позволяет удалять старый контент; проверяйте её раз в квартал.

Глава 3

Установка Docker Compose. Synapse, PostgreSQL, Element.

Запустите чистый Debian 12 VPS, направьте три DNS-записи на него: matrix.example.com (хостнейм домашнего сервера), element.example.com (веб-клиент) и сам example.com, если нужна краткая форма идентификатора @alice:example.com. Войдите по SSH как sudo пользователь.

1. Установите Docker и Compose. curl -fsSL https://get.docker.com | sh — Docker Engine поставляет Compose v2 в том же пакете.

2. Сгенерируйте конфигурацию Synapse. mkdir -p ~/synapse/data && docker run -it --rm -v ~/synapse/data:/data -e SYNAPSE_SERVER_NAME=example.com -e SYNAPSE_REPORT_STATS=no matrixdotorg/synapse:latest generate — это записывает homeserver.yaml. Отредактируйте его: измените базу данных с SQLite на PostgreSQL, задайте URL медиа, установите enable_registration: false для начала (пока создавайте пользователей через admin CLI).

3. Напишите docker-compose.yml. Три сервиса: postgres (postgres:16, постоянный том, локаль C), synapse (matrixdotorg/synapse:latest, монтирует ~/synapse/data, зависит от postgres), element (vectorim/element-web:latest, монтирует небольшой config.json, указывающий на https://matrix.example.com). Маппируйте только synapse:8008 и element:80 на localhost; не привязывайте [redacted-ip].

4. Проксирование через Caddy. Два сайта Caddyfile: matrix.example.com проксирует на [redacted-ip] (Synapse) на обоих портах 443 и 8448 (порт федерации); element.example.com проксирует на [redacted-ip] (Element Web). Caddy автоматически получает сертификаты Let's Encrypt.

5. Обнаружение федерации (.well-known). Добавьте два статических JSON-файла на сам example.com: /.well-known/matrix/server, возвращающий {"m.server": "matrix.example.com:443"}, и /.well-known/matrix/client, возвращающий {"m.homeserver": {"base_url": "https://matrix.example.com"}}. Это позволяет сокращённым идентификаторам @alice:example.com корректно разрешаться. Проверьте через Federation Tester на federationtester.matrix.org.

6. Создайте первого пользователя. docker exec -it synapse register_new_matrix_user -u alice -p <password> -a -c /data/homeserver.yaml http://localhost:8008 — создаёт аккаунт администратора. Войдите через https://element.example.com.

Глава 4

Element, брендинг, политика регистрации. Решения, которые остаются.

Конфигурация Element. Element Web считывает config.json, который указывает на ваш домашний сервер, задаёт тему по умолчанию, брендинг и список «рекомендованных комнат» для новых аккаунтов. Установите default_server_config.m.homeserver.base_url на https://matrix.example.com, brand — на название вашего проекта, и отключите поле brand_url, предлагающее matrix.org. Новые пользователи попадают в Element Web, направленный на ваш сервер, а не на чужой.

Политика регистрации. Три режима: закрытый (только администратор регистрирует пользователей через CLI; самая чистая позиция для модерации), токен-based (вы генерируете токены регистрации через admin API и делитесь ими; лучше для небольшой группы), открытый (любой может зарегистрироваться; включайте только если намерены управлять публичным домашним сервером с инструментами модерации). Начинайте в закрытом режиме и расслабляйтесь только при наличии причины.

Блок-лист федерации. Synapse поддерживает federation_domain_whitelist (только белый список) и блокировки на уровне сервера через admin API. Для большинства публичных домашних серверов по умолчанию «федерировать со всеми» с реактивными блокировками нарушителей по мере необходимости. Бот Mjolnir автоматизирует это, если вы становитесь целью.

Резервные копии. Ночной дамп PostgreSQL + tarball ~/synapse/data, отправляемые с сервера через rclone на второй VPS или B2-бакет. Оба обязательны: база данных содержит состояние комнат и аккаунты, директория данных — ключи подписи и медиа. Проверки восстановления раз в квартал, как и для любой резервной копии.

Глава 5

Реальность модерации. Что self-hosting означает на самом деле.

Управление Matrix-домашним сервером означает принятие того, что хост несёт ответственность за действия сервера. На приватном сервере только по приглашению эта ответственность невелика — вы знаете каждого пользователя. На публичном домашнем сервере ответственность масштабируется вместе с базой пользователей.

Входящие злоупотребления. Публичная федеративная комната может быть вовлечена в координацию злоупотреблений, сброс изображений или харассмент. Synapse предоставляет API-эндпоинты администратора для блокировки пользователя (во всех комнатах), блокировки домашнего сервера (прекращение федерации) и принудительного выхода сервера из комнаты. Бот Mjolnir объединяет эти функции в рабочий процесс комнаты модерации; форк Draupnir является его активно поддерживаемым продолжением.

Исходящие злоупотребления. Скомпрометированный аккаунт пользователя может публиковать неприемлемый контент в федеративных комнатах, нанося ущерб репутации вашего сервера в сети. Два способа снижения риска: ограничение запросов на пользователя (стандартные лимиты Synapse разумны) и обязательная верификация email для новых аккаунтов (повышает порог для автоматической регистрации).

Правовая позиция. В ЕС роль инфраструктурного провайдера даёт сильную защиту от ответственности посредника (Директива об электронной коммерции, статья 14; DSA, статья 6) — вы не несёте ответственности за пользовательский контент, пока реагируете на уведомления о нарушениях. Nordic-юрисдикции расширяют это явными конституционными гарантиями свободы прессы. Тот же домашний сервер в юрисдикции без защиты посредников создаёт операционно более высокие риски; выбирайте расположение хостера соответствующим образом.

Безопасный вариант по умолчанию. Регистрация только по приглашению, федерация включена с реактивными блокировками, Mjolnir / Draupnir установлены, но не используются до необходимости, условия использования опубликованы на сайте домашнего сервера с чёткой политикой допустимого использования. Такая позиция покрывает 95% операторов без дополнительных усилий.

Глава 6

Почему важен хостер. Шифрование защищает контент, хостер защищает метаданные.

Matrix E2EE защищает тела сообщений — сервер хранит только зашифрованный текст для приватных комнат. Что он не защищает — метаданные: какие домашние серверы федерируются друг с другом, какие пользователи в каких комнатах, когда они онлайн, как часто отправляют сообщения, какие у них устройства. Этот граф метаданных находится на домашнем сервере и серверах, с которыми он федерируется, и технически недоступен уровню шифрования.

Домашний сервер на VPS с KYC привязывает граф метаданных к юридической личности оператора. Повестка хостеру даёт не только зашифрованную базу данных, но и связь идентификатора @alice:example.com с реальным именем. Шифрование остаётся в силе; метаданные раскрываются.

Позиция NordBastion — полная противоположность: <a href="/ru/doctrine/" class="text-nord-cyan border-b border-nord-cyan/40 hover:border-nord-cyan transition">регистрация без KYC</a>, оплата криптовалютой, скандинавские конституционные юрисдикции. Домашний сервер принадлежит вам; связи между домашним сервером и чьим-либо именем не существует; правовой режим, под действие которого подпадает диск, предусматривает явную защиту свободы прессы. Такое сочетание соответствует модели безопасности самого Matrix — защищены как криптографический уровень содержимого, так и операционный уровень метаданных.

Частые вопросы · Самостоятельный хостинг Matrix

Вопросы, и ответы на них.

Восемь вопросов, возникающих при работе с Matrix-домашним сервером в 2026 году.

Что такое Matrix и чем он отличается от Discord или Slack?

Matrix — это федеративный протокол обмена сообщениями реального времени с открытым стандартом — думайте о нём как о SMTP для чата. Любой может запустить домашний сервер (Synapse, Dendrite, Conduit), пользователи разных домашних серверов общаются друг с другом прозрачно, каждое сообщение в приватной комнате шифруется сквозным шифрованием по умолчанию, ни одна центральная компания не контролирует сеть. Discord и Slack централизованы, проприетарны, и компания хостит каждый разговор. Компромисс: Matrix чуть сложнее операционно и имеет меньшую экосистему отполированных клиентов, но каждый байт принадлежит вам.

Synapse, Dendrite или Conduit — какой домашний сервер?

Synapse — эталонная реализация, написанная на Python, наиболее функционально полная и проверенная в продакшне. Требователен к памяти. Dendrite — новая переписанная версия на Go, значительно легче, отсутствует несколько расширенных функций модерации, но активно сокращает разрыв. Conduit — третий вариант, домашний сервер на Rust, ориентированный на минимальное потребление ресурсов, хорош для однопользовательского домашнего сервера на дешёвом VPS. По умолчанию выбирайте Synapse, если нет конкретной причины — документация, инструменты модерации и сторонние мосты рассчитаны на Synapse.

Какой VPS мне нужен для Matrix-домашнего сервера?

Один пользователь с федерацией в широкую сеть Matrix — 2 vCPU, 4 GB RAM, 40 GB SSD — практический минимум. Небольшая команда (5–20 пользователей) — 4 vCPU, 8 GB RAM, 100 GB SSD. Тарифы Ravelin или Iron покрывают оба случая. Доминирующий ресурс — RAM (Synapse хранит много состояния комнат в памяти) и диск (загрузки медиа и история федеративных комнат растут непрерывно).

Следует ли включать федерацию?

Почти всегда да — в этом и есть смысл Matrix. Федерация позволяет вашим пользователям общаться с кем угодно на matrix.org, mozilla.org, kde.org и тысячах других домашних серверов. Исключения: приватный сервер для внутренней команды, где вы не хотите, чтобы кто-то обнаруживал комнаты; модель угроз с высоким риском, при которой паттерны федеративного трафика раскрывают информацию; сервер с чувствительным контентом, где нужен строгий контроль членства. Отключить федерацию позже — нормально; повторное включение делает вас обнаруживаемым.

Зашифрованы ли приватные комнаты сквозным шифрованием по умолчанию?

Да — каждый клиент Element включает E2EE по умолчанию для новых личных сообщений и приватных комнат. Шифрование — Olm/Megolm на уровне комнаты с верификацией устройства через перекрёстную подпись. Сервер видит только зашифрованный текст тела сообщения. Публичные комнаты не шифруются по замыслу (поскольку присоединиться может любой, шифрование ничего бы не защитило). Федеративные публичные комнаты видны всем — в этом и смысл публичной комнаты.

Какова реальность модерации при управлении публичным домашним сервером?

Это реальная работа. При открытой регистрации ваш домашний сервер будет федерироваться со спам-комнатами, втягиваться в комнаты координации злоупотреблений и периодически получать нежелательный контент с федеративных серверов. Управление публичным домашним сервером требует готовности применять серверные блокировки, блокировать враждебные серверы в федерации и реагировать на жалобы на злоупотребления. Для большинства операторов правильная позиция — закрытая регистрация (только по приглашению): каждый пользователь — знакомый, а поверхность злоупотреблений сводится практически к нулю.

Могу ли я использовать Matrix-домашний сервер как замену Slack / Discord на работе?

Да — Element Server Suite и лежащая в основе комбинация Synapse + Element Web покрывают функционал «командного чата с постоянными комнатами, тредами, реакциями, голосовыми/видео-хаддлами». Главный пробел по сравнению со Slack — сторонние интеграции (меньше готовых приложений); главный пробел по сравнению с Discord — отполированные голосовые каналы. Оба восполнимы, но требуют некоторых операторских усилий. Для небольшой команды, ценящей суверенитет данных выше полировки, компромисс явно стоит того.

Почему важен хостер, у которого я арендую VPS, для Matrix-сервера?

Потому что федеративный протокол чата создаёт постоянные метаданные о том, кто с кем и когда общается, на домашнем сервере. Эти метаданные богаты (граф федеративных комнат, события федерации, загрузки медиа). Размещение на хостере с KYC привязывает метаданные к вашей личности; размещение на хостере во враждебной юрисдикции означает, что государственный субъект может их потребовать. No-KYC Nordic VPS приводит позицию хостера по метаданным в соответствие с криптографической позицией протокола — обе половины истории конфиденциальности.

Получите железо

Nordic VPS для вашего домашнего сервера. Без KYC, оплата криптовалютой.

Ravelin (2 vCPU, 4 GB, $5.90/мес.) покрывает Synapse для одного пользователя с федерацией. Iron (4 vCPU, 8 GB, $24.90/мес.) — ответ для небольшой команды.

Последняя проверка · 2026-05-20 · Источники · Документация Synapse, справочник конфигурации Element, спецификация Matrix, Статья 6 DSA ЕС · Периодичность · ежегодно