Мессенджер на своём сервере без админа: как это работает
Как устроен мессенджер на своём сервере, если вы не админ: кто ставит обновления и сертификаты, как работают приглашения, звонки и шифрование OMEMO.
Мессенджер на своём сервере — это когда переписка вашей семьи, друзей или небольшой команды идёт через отдельный сервер, который работает только для вашей группы, а не через общую платформу на миллионы людей. Администратор для этого не обязателен: сервер можно взять «под ключ». Тогда установку, обновления, сертификаты и 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 настроены правильно.
- Первое приглашение администратора создаётся командой в терминале, остальные — в веб-панели.
Дальше начинается обслуживание: следить за выходом новых версий и обновлять сервер, проверять, что сертификаты продлеваются, делать резервные копии, разбираться, почему у кого-то не проходят звонки. Для энтузиаста это пара вечеров на старте и немного внимания каждый месяц. Для человека, который просто хочет семейный чат, — стена из незнакомых слов.
Как это работает без админа: сервер под ключ
Сервер под ключ снимает с вас всю серверную часть. Вот как выглядит запуск у нас:
- Вы придумываете имя. Оно станет адресом сервера:
semyaпревращается вsemya.pl3.store. - Привязываете карту. Начинается пробный период на 14 дней, до его конца деньги не списываются. Можно и сразу оплатить месяц или год.
- Сервер готов через несколько минут. Мы разворачиваем отдельный сервер Snikket только для вашей группы.
- Вы приглашаете участников. Каждый получает ссылку, открывает её и устанавливает приложение.
Кто за что отвечает:
| Задача | Своя установка на 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 человек на сервере. Это формат для семьи, друзей или небольшой команды, а не для публичного сообщества.
- История из других мессенджеров не переносится. Важные фото и документы стоит сохранить заранее.
- Это не замена публичным платформам. Каналы и большие открытые группы остаются там, где они есть, — свой сервер нужен для закрытого круга.
Если узнаёте себя — посмотрите, как это выглядит для семьи или компании друзей, и проверьте цены.
Источники
- Snikket: руководство по самостоятельной установке
- Snikket: порты и межсетевой экран
- Snikket: частые вопросы (требования к серверу, TLS)
- Snikket: возможности приложения
- Snikket: хостинг от проекта
- XEP-0384: OMEMO Encryption
Сведения о сторонних сервисах актуальны на 11.10.2026.
Частые вопросы
Можно ли завести свой мессенджер без программиста?
Да, если взять сервер под ключ. Вы придумываете имя сервера и приглашаете людей, а установку Snikket, обновления, TLS-сертификаты и DNS берёт на себя хостинг. Командная строка, Docker и настройка портов вам не понадобятся.
Есть ли звонки в мессенджере на своём сервере?
Да. В приложениях Snikket есть голосовые и видеозвонки. Для них серверу нужен отдельный сервис-посредник (STUN/TURN) и открытые порты — на сервере под ключ это уже настроено.
Сколько стоит свой сервер мессенджера?
У нас — 890 ₽ в месяц или 8 900 ₽ в год за весь сервер до 20 человек, первые 14 дней бесплатно (для пробного периода нужна карта). Своя установка на VPS обходится в стоимость аренды сервера и домена плюс ваше время на обслуживание.
Кто может читать сообщения на своём сервере?
В приложениях Snikket сквозное шифрование OMEMO включено по умолчанию: сообщения расшифровываются только на устройствах участников чата. Сервер передаёт их, но прочитать содержимое не может.