Snikket: простой XMPP-сервер для команды — установка в Docker за 15 минут
Snikket — это XMPP-сервер нового поколения, который можно развернуть в Docker за 15 минут. Если вы ищете, как настроить snikket для своей команды без сложных настроек и платных подписок, вы попали по адресу. В отличие от Telegram или WhatsApp, Snikket работает на вашем сервере: данные не покидают вашу инфраструктуру, нет зависимости от иностранных платформ и рисков блокировок.
В этой статье разберём пошаговую установку Snikket через Docker, настройку первого администратора, приглашение пользователей и сравнение с Matrix/Synapse и Mattermost. Подход рассчитан на IT-специалиста малого бизнеса или НКО — без лишней теории, сразу к делу.

Главное про Snikket: это готовый к работе XMPP-мессенджер в одном Docker-контейнере. Snikket сервер разворачивается на любом VPS с 512 МБ RAM, не требует знания протокола XMPP и поддерживает нативные мобильные приложения для iOS и Android. Подходит для команд от 5 до 50 человек.
Содержание
Что такое Snikket и для кого он предназначен
Snikket — это не ещё один XMPP-сервер с множеством настроек. Это управляемый пакет: внутри уже всё необходимое — сервер Prosody, веб-интерфейс администратора, автоматические сертификаты Let’s Encrypt, пуш-уведомления для мобильных клиентов.
Проект создан с упором на простоту: один файл docker-compose.yml, один домен — и сервер работает. Не нужно затрачивать время на изучение протокола XMPP, настройку nginx или правила брандмауэра.
Для кого подходит Snikket:
- Малый бизнес — 5–30 сотрудников, которым нужен корпоративный мессенджер
- НКО и общественные организации — где приватность и независимость критичны
- Семьи и друзья — частный сервер без платных подписок
- IT-отдел с ограничениями на внешние сервисы
Snikket не подходит для enterprise с тысячами пользователей, интеграций с AD/LDAP и сложного администрирования. Для этого есть Mattermost или Matrix. Также у Snikket есть два заметных ограничения: нет групповых аудио- и видеозвонков — протокол Jingle рассчитан на соединение один на один, групповые звонки в XMPP остаются черновой спецификацией, срок реализации в Snikket не объявлен; и нет официального фирменного веб-приложения — в комплекте идёт сторонний Converse.js (без звонков), официальный браузерный клиент планировался на Q3 2025, срок не выдержан (актуально на апрель 2026).

Почему не Telegram и WhatsApp: блокировки, приватность, контроль данных
Telegram заблокирован в ряде стран. WhatsApp требует номер телефона и хранит метаданные на серверах Meta. Оба сервиса могут замедлить доставку сообщений, закрыть аккаунт без предупреждения или изменить условия в одностороннем порядке.
Со своим XMPP-сервером эти риски исчезают:
- Данные хранятся на вашем VPS, не на серверах третьих сторон
- Нет зависимости от иностранных платформ
- Администратор сам управляет аккаунтами и доступом
- Сервер не заблокируется внешним регулятором
- End-to-end шифрование OMEMO есть в приложениях
Для малого бизнеса в РФ это особенно актуально: компания полностью контролирует канал коммуникаций без зависимости от решений зарубежных компаний.

Технические требования: VPS, домен, порты
Перед тем как начать Snikket установку, подготовьте среду:
Сервер (VPS):
- OS: Ubuntu 20.04/22.04 или Debian 11/12
- RAM: от 512 МБ (рекомендуется 1 ГБ+ для комфортной работы)
- Docker + Docker Compose установлены
Домен:
Snikket сервер требует три DNS-записи для основного домена — одна A-запись и две CNAME:
chat.example.com A 203.0.113.123
groups.chat.example.com CNAME chat.example.com
share.chat.example.com CNAME chat.example.com
Открытые порты:
- 80/tcp, 443/tcp — HTTP/HTTPS (веб-интерфейс, Let’s Encrypt)
- 5222/tcp — XMPP клиент (подключение мобильных приложений)
- 5269/tcp — XMPP federation (передача между серверами)
- 5000/tcp — прокси передачи файлов (proxy65)
- 3478/tcp+udp, 3479/tcp+udp — аудио/видео, STUN/TURN
- 5349/tcp+udp, 5350/tcp+udp — STUN/TURN over TLS
Если порт 443 занят другим сервисом (nginx, Traefik), потребуется настройка проксирования. Snikket по умолчанию работает без внешнего nginx.
Snikket установка: пошаговая инструкция через Docker
Установка Snikket через Docker занимает 15 минут. Вот полная последовательность:
Шаг 1. Скачать файл конфигурации
Создайте директорию и файл snikket.conf:
mkdir /etc/snikket
cd /etc/snikket
curl -o docker-compose.yml https://snikket.org/service/resources/docker-compose.yml
Отредактируйте snikket.conf:
SNIKKET_DOMAIN=chat.example.com
SNIKKET_ADMIN_EMAIL=admin@example.com
Шаг 2. Запустить контейнер
docker compose up -d
Snikket сам получит сертификаты Let’s Encrypt. Через 2-3 минуты сервер будет готов.
Шаг 3. Проверить статус
docker compose ps
Должны работать контейнеры snikket_server и snikket_proxy. Логи проверяются через docker compose logs -f.
Если сертификат не получен, проверьте DNS-записи для всех трёх субдоменов и доступность портов 80 и 443.
Первый администратор и приглашение пользователей
После запуска нужно создать первого администратора.
Создание админ-аккаунта и первого приглашения:
docker exec snikket create-invite --admin --group default
Команда выдаст ссылку-приглашение. Откройте её в приложении Snikket и задайте имя пользователя и пароль. Флаг --admin даёт права администратора, --group default включает в общий чат группы.
Invite-система: как пригласить пользователей
Snikket принципиально работает по приглашениям — нельзя зарегистрироваться самостоятельно. Это безопасно: только приглашённые пользователи входят на сервер.
Сгенерировать приглашение для обычного пользователя:
docker exec snikket create-invite
Будет выведена ссылка вида https://chat.example.com/invite/.... Отправьте её сотруднику. По ссылке человек сам задаёт имя аккаунта и пароль.
Для приглашения целой группы есть флаг --group: участники автоматически попадают в общий чат при регистрации. Веб-интерфейс администратора доступен по адресу https://chat.example.com/.
Клиенты Snikket: мобильные и десктопные приложения
Snikket ориентирован сначала на мобильные устройства, но работает с любым XMPP-клиентом на десктопе. У проекта есть свои приложения для iOS и Android с упрощённой настройкой через QR-код приглашения; для Windows, macOS и Linux десктоп-клиент не выпускается — используются любые стандартные XMPP-клиенты.
Snikket для iOS и Android
- Snikket для iOS — в App Store. Fork клиента Siskin с преднастройкой под Snikket-сервер. Чаты, групповые разговоры, шифрование OMEMO, push-уведомления через APNs-прокси Snikket.
- Snikket для Android — в Google Play и F-Droid. Fork Conversations. Та же функциональность; F-Droid-сборка — это Snikket APK без Google Services, push через ntfy-протокол.
- Первый запуск: отсканировать QR-код или открыть ссылку-приглашение от администратора сервера — клиент сам подставит домен, логин и пароль.
Snikket на Windows, macOS, Linux — через XMPP-клиент
У проекта нет собственного десктоп-приложения. Решение намеренное: Snikket-сервер использует стандартный XMPP, и любой XMPP-клиент подключается к вашему серверу без специальной настройки. Проверенные совместимые:
- Gajim (Windows, Linux, BSD) — зрелый клиент, OMEMO-шифрование, группы, A/V-звонки. gajim.org.
- Dino (Linux, macOS через Homebrew) — современный UI, поддержка видеозвонков. dino.im.
- Monal (macOS, iOS) — нативный клиент Apple. monal-im.org.
- BeagleIM (macOS) — лёгкий клиент от Tigase. beagle.im.
- Conversations (Android) — если не нравится Snikket-бренд, оригинал из F-Droid поддерживает тот же функционал.
Подключение: ваш JID — user@chat.your-domain, пароль — из приглашения Snikket. В большинстве клиентов домен сервера определяется автоматически через SRV-записи DNS.
Веб-клиент Converse.js
В комплекте со Snikket идёт сторонний веб-клиент Converse.js — открывается прямо по адресу https://chat.your-domain/. Поддерживает текстовые чаты, приватные и групповые разговоры, OMEMO-шифрование. Видеозвонков в браузерной версии нет — для звонков используйте мобильное или desktop-приложение.
Официального фирменного веб-приложения Snikket пока нет: разработчики планировали выпустить его в Q3 2025, срок не выдержан. Ведётся работа над SDK Borogove, на базе которого выйдет официальный браузерный клиент; новая дата не объявлена (актуально на апрель 2026).
Где скачать и исходники
- Официальная страница со ссылками на все клиенты: snikket.org/app
- GitHub Snikket (сервер + клиенты): github.com/snikket-im — все компоненты open-source.
Snikket vs Matrix/Synapse vs Mattermost: когда что лучше
Выбор между self-hosted мессенджерами зависит от задач:
| Критерий | Snikket | Matrix/Synapse | Mattermost |
|---|---|---|---|
| Сложность установки | 15 минут | 30–60 минут | 15–30 минут |
| RAM при 10 пользователях | 200 МБ | 500 МБ+ | 300 МБ |
| Мобильные приложения | Свои, iOS/Android | Element + др. | iOS/Android |
| Push-уведомления | Yes, встроено | Требует настройки | Yes |
| LDAP/AD | No | Yes (платно) | Yes (платно) |
| Интеграции | Минимальные | Bridges, webhooks | Webhooks, apps |
| Объем аудитории | Малый бизнес, НКО | Любой, но сложно | 50+ пользователей |
Когда выбрать Snikket: команда 5–30 человек, важна простота и быстрый старт, нет потребности в LDAP/интеграциях.
Когда лучше Matrix/Synapse: нужна федерация с другими серверами, бриджи в Telegram/IRC или подходит крупный проект.
Когда лучше Mattermost: проектная работа, нужны каналы по темам, интеграции с CI/CD.
Итог
- Snikket — XMPP-сервер в одном Docker-контейнере: домен + сертификаты — всё автоматически
- Установка Snikket через Docker занимает 15 минут: три DNS-записи + docker compose up
- Не нужно знать XMPP вглубь: Snikket скрывает сложность за простым интерфейсом
- Snikket мессенджер работает в России: данные на вашем VPS, нет зависимости от иностранных сервисов
- Скачать Snikket на Windows нельзя, но программа работает с XMPP-клиентами для Windows: Gajim, Dino
- Инвайт-система Snikket обеспечивает безопасность: только приглашенные пользователи входят на сервер
Часто задаваемые вопросы
Ответы на часто задаваемые вопросы по теме статьи.
Не знаете, с чего начать: выбрать VPS, настроить домен или разобраться с почтой? Мы занимаемся IT-инфраструктурой для малого бизнеса: настроим корпоративный мессенджер, почту или другие сервисы под ключ — без бесконечных звонков и инструкций.



