Основы

Мессенджер на своём сервере без админа: как это работает

Как устроен мессенджер на своём сервере, если вы не админ: кто ставит обновления и сертификаты, как работают приглашения, звонки и шифрование OMEMO.

Обновлено · 7 мин чтения

Мессенджер на своём сервере — это когда переписка вашей семьи, друзей или небольшой команды идёт через отдельный сервер, который работает только для вашей группы, а не через общую платформу на миллионы людей. Администратор для этого не обязателен: сервер можно взять «под ключ». Тогда установку, обновления, сертификаты и DNS берёт на себя хостинг, а вы только приглашаете людей и пользуетесь обычным приложением.

Ниже — как это устроено, что именно делает администратор на самостоятельной установке и что остаётся на вас, если сервер обслуживаем мы.

Что значит «мессенджер на своём сервере»

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

Мы используем Snikket — открытый сервер и приложения на базе XMPP. У вашего сервера будет свой адрес, например semya.pl3.store, а у участников — адреса вида ivan@semya.pl3.store. Попасть на сервер можно только по приглашению его владельца: ваш сервер — ваши правила, доступ только у приглашённых.

Если хочется разобраться в терминах, начните с материала «Что такое XMPP и Snikket».

Что делает администратор при самостоятельной установке

Snikket задуман простым, но «простым для того, кто уже умеет обращаться с сервером». По официальному руководству для самостоятельной установки нужно:

  • Сервер на Linux с доступом по SSH — арендованный VPS или своё устройство, например Raspberry Pi. Проект рекомендует не меньше 1 ГБ оперативной памяти.
  • Docker с плагином Compose. Версии Docker старше 20.10.10 не поддерживаются.
  • Домен, на котором можно создавать поддомены, и DNS-записи: запись A на адрес сервера и записи CNAME для поддоменов groups (групповые чаты) и share (обмен файлами).
  • Открытые порты: 80 и 443 для веб-интерфейса и файлов, 5222 для приложений, 5269 для связи с другими серверами, 3478–3479 и 5349–5350 для звонков и диапазон UDP 49152–65535 для передачи звука и видео.
  • Сертификаты TLS. Snikket получает их у Let's Encrypt сам, но только если DNS и порт 80 настроены правильно.
  • Первое приглашение администратора создаётся командой в терминале, остальные — в веб-панели.

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

Как это работает без админа: сервер под ключ

Сервер под ключ снимает с вас всю серверную часть. Вот как выглядит запуск у нас:

  1. Вы придумываете имя. Оно станет адресом сервера: semya превращается в semya.pl3.store.
  2. Привязываете карту. Начинается пробный период на 14 дней, до его конца деньги не списываются. Можно и сразу оплатить месяц или год.
  3. Сервер готов через несколько минут. Мы разворачиваем отдельный сервер Snikket только для вашей группы.
  4. Вы приглашаете участников. Каждый получает ссылку, открывает её и устанавливает приложение.

Кто за что отвечает:

ЗадачаСвоя установка на VPSСервер под ключ
Аренда сервера и доменВыМы
Установка Snikket, Docker, портыВыМы
DNS-записи и адрес сервераВыМы
Выпуск и продление TLS-сертификатовВы (с помощью Let's Encrypt)Мы
Обновления SnikketВыМы
Приглашения участниковВыВы
Кто попадает на серверРешаете выРешаете вы

Главное остаётся за вами: кого пригласить и как устроить чаты. Всё остальное — наша работа. Подробнее о шагах — в разделе «Как это работает».

Свой мессенджер со звонками: как это устроено

Звонки — самая капризная часть своего сервера. Сообщения можно доставить почти при любых условиях, а для звонка двум телефонам нужно установить прямое соединение, хотя оба обычно сидят за домашним роутером или мобильным оператором. Для этого сервер Snikket использует сервис-посредник STUN/TURN: он помогает телефонам найти друг друга, а если напрямую не получается — передаёт звук и видео через себя.

Именно поэтому в списке портов выше есть целый диапазон UDP-портов: документация Snikket советует закладывать примерно 4 порта на каждый одновременный звонок. При самостоятельной установке это частая причина жалоб «сообщения ходят, а звонки нет».

На сервере под ключ посредник для звонков уже настроен. В приложениях Snikket доступны голосовые и видеозвонки — тем же нажатием на трубку, что и в привычных мессенджерах.

Защищённый мессенджер на своём сервере: что это значит на деле

Слово «защищённый» стоит разложить на конкретные вещи:

  • Шифрование соединений (TLS). Связь между приложением и сервером, а также между серверами шифруется. Snikket требует современный TLS с действительными сертификатами для соединений между серверами.
  • Сквозное шифрование (OMEMO). В приложениях Snikket оно включено по умолчанию. Сообщение шифруется на телефоне отправителя и расшифровывается только на устройствах получателей, поэтому сервер передаёт его, но прочитать содержимое не может. OMEMO описан в расширении XMPP XEP-0384.
  • Закрытый круг. На сервер попадают только приглашённые владельцем люди, посторонних в списке участников нет.
  • Без рекламы и сторонних трекеров. Сервер существует на вашу подписку, а не на показах рекламы.

Честная оговорка: сервер, как и у любого мессенджера, знает служебные данные — какие аккаунты на нём есть и куда доставлять сообщения. Без этого доставка невозможна. Сквозное шифрование защищает содержимое переписки.

Простой мессенджер на своём сервере: что увидят участники

Для родственников и друзей всё выглядит как обычный мессенджер. Человек получает от вас ссылку-приглашение, открывает её, и приложение Snikket для Android или iOS проводит его через установку и вход. Логины, пароли от серверов, адреса портов — ничего этого участник не видит.

Внутри — привычный набор: личные и групповые чаты, голосовые сообщения, фото, видео и документы, звонки. Отдельного приложения Snikket для компьютера пока нет, но к серверу можно подключиться другими XMPP-клиентами, например Gajim или Dino: сервер говорит на стандартном XMPP.

Как перевести близких без лишних нервов, рассказываем в руководстве «Как перевести семью с WhatsApp на свой мессенджер».

Свой мессенджер на VPS или готовый сервер: что выбрать

Оба пути рабочие, разница — в том, чьё время тратится.

Своя установка на VPS подойдёт, если вы уже администрируете серверы или хотите научиться. Плюсы: полный контроль над машиной, можно поставить рядом другие сервисы. Минусы: обновления, сертификаты, резервные копии и разбор проблем со звонками — на вас, а если вы уедете в отпуск без ноутбука, семейный чат будет ждать вас.

Готовый сервер подойдёт, если вам нужен результат, а не процесс. Готовый хостинг Snikket предлагает и сам проект: на 11.10.2026 на официальной странице указано до 6 долларов США в месяц за сервер до 10 активных пользователей и 14 дней пробного периода. У нас — 890 ₽ в месяц или 8 900 ₽ в год за сервер до 20 человек с оплатой в рублях, первые 14 дней бесплатно.

Подробное сравнение трёх способов для семьи — в материале «Свой мессенджер для семьи: 3 способа его завести», а обзор других систем, которые можно поставить на свой сервер, — в статье «Аналог Telegram на своём сервере».

Ограничения, о которых стоит знать

  • До 20 человек на сервере. Это формат для семьи, друзей или небольшой команды, а не для публичного сообщества.
  • История из других мессенджеров не переносится. Важные фото и документы стоит сохранить заранее.
  • Это не замена публичным платформам. Каналы и большие открытые группы остаются там, где они есть, — свой сервер нужен для закрытого круга.

Если узнаёте себя — посмотрите, как это выглядит для семьи или компании друзей, и проверьте цены.

Источники

Сведения о сторонних сервисах актуальны на 11.10.2026.

Частые вопросы

Можно ли завести свой мессенджер без программиста?

Да, если взять сервер под ключ. Вы придумываете имя сервера и приглашаете людей, а установку Snikket, обновления, TLS-сертификаты и DNS берёт на себя хостинг. Командная строка, Docker и настройка портов вам не понадобятся.

Есть ли звонки в мессенджере на своём сервере?

Да. В приложениях Snikket есть голосовые и видеозвонки. Для них серверу нужен отдельный сервис-посредник (STUN/TURN) и открытые порты — на сервере под ключ это уже настроено.

Сколько стоит свой сервер мессенджера?

У нас — 890 ₽ в месяц или 8 900 ₽ в год за весь сервер до 20 человек, первые 14 дней бесплатно (для пробного периода нужна карта). Своя установка на VPS обходится в стоимость аренды сервера и домена плюс ваше время на обслуживание.

Кто может читать сообщения на своём сервере?

В приложениях Snikket сквозное шифрование OMEMO включено по умолчанию: сообщения расшифровываются только на устройствах участников чата. Сервер передаёт их, но прочитать содержимое не может.