К содержанию
b8q
Войти Запросить демо
ПродуктВозможностиЧат, звонки, документы, канбан, ИИТехнологииWebRTC, WebSocket, PWA, CRDTБезопасностьTLS 1.3, P2P, шифрование данныхИнтеграцииTelegram, API, вебхуки
API-документацияREST, WebSocket, Webhooks
РешенияSelf-HostedРазвёртывание на вашем сервереWhite LabelВаш бренд, ваш доменКейсыСценарии использованияКомплаенс152-ФЗ, ФСТЭК, аудит
МиграцияПереход со Slack, Teams, Telegram
ТарифыТарифы
РесурсыБлогСтатьи и руководстваОбновленияИстория версийДорожная картаПланы развития продуктаВопросы и ответыОтветы на частые вопросы
КомпанияО проектеКоманда и миссияКонтактыСвяжитесь с намиПартнёрамПартнёрская программа
Запросить демоВойти

Мессенджер на своём сервере: полный гайд по on-premise решениям

12 марта 2026 · 15 мин чтения

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

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

Зачем вообще ставить мессенджер к себе

Причин несколько, и они не сводятся к паранойе.

Контроль над данными

Когда мессенджер работает в облаке, ваша переписка физически лежит на чужих серверах. Обычно — в зашифрованном виде, обычно — с приличной защитой. Но «обычно» — это не гарантия. В 2023 году утечки данных из облачных сервисов случались в среднем каждые 39 секунд (данные IBM Cost of a Data Breach Report). Не все — критичные. Но каждая — это чья-то проблема.

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

Независимость от поставщика

Cloud-сервис может: поднять цены, изменить условия, заблокировать аккаунт, уйти с рынка. Self-hosted мессенджер работает, пока работает ваш сервер. Даже если компания-разработчик закроется — ПО, которое уже установлено, продолжит функционировать.

Работа в закрытом контуре

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

Соответствие регуляторным требованиям

ФЗ-152 о персональных данных, требования ФСТЭК, стандарты PCI DSS для платёжных систем — всё это проще выполнить, когда данные под вашим контролем. Формально можно соответствовать и с облаком, но аудиторам гораздо проще показать свой сервер в своей серверной, чем объяснять схему шифрования в чужом облаке.

Кому это подходит (и кому нет)

Self-hosted — не серебряная пуля. Для кого-то это оптимальный вариант, для кого-то — лишняя головная боль.

Self-hosted — для вас, если:

  • В компании есть IT-отдел (хотя бы 1–2 админа).
  • У вас есть серверная инфраструктура или вы готовы арендовать выделенный сервер.
  • Работаете с чувствительными данными: персональные данные, финансовая информация, медицинские записи.
  • Размер команды — от 50 человек. При меньшем размере экономия не окупает затрат на поддержку.
  • Вам нужна работа в изолированной сети (без интернета).
  • Вы уже обожглись на облачном сервисе, который внезапно прекратил работу.

Облако лучше, если:

  • Команда маленькая (до 30 человек) и нет выделенного IT.
  • Нет своей инфраструктуры и не хочется её заводить.
  • Нужно запуститься за день, а не за неделю.
  • Бюджет ограничен — облачная подписка часто дешевле на старте.
  • Данные не чувствительны (маркетинговое агентство, фрилансеры, стартап на ранней стадии).

Нет ничего плохого в облаке — для многих команд это правильный выбор. Главное — принимать решение осознанно, а не по инерции.

Требования к инфраструктуре

Конкретные требования зависят от продукта, но вот ориентиры для типичного корпоративного мессенджера на 100–500 пользователей.

Минимальная конфигурация (до 100 пользователей)

  • CPU: 4 ядра (современный Xeon или Ryzen)
  • RAM: 8 ГБ
  • Диск: 100 ГБ SSD (NVMe предпочтительно)
  • Сеть: 100 Мбит/с
  • ОС: Ubuntu 22.04+ / Debian 12+ / CentOS Stream 9

Рекомендуемая конфигурация (100–500 пользователей)

  • CPU: 8 ядер
  • RAM: 16–32 ГБ
  • Диск: 500 ГБ NVMe SSD
  • Сеть: 1 Гбит/с
  • Отдельный диск для БД: 100 ГБ NVMe

Для 500+ пользователей

Нужен кластер из нескольких серверов. Об этом — в следующем разделе.

Программные требования

  • Docker и Docker Compose — почти все современные self-hosted мессенджеры поставляются в контейнерах.
  • PostgreSQL — основная база данных (обычно идёт в Docker Compose).
  • Redis — кэш и pub/sub для real-time сообщений.
  • Nginx / Traefik — реверс-прокси с TLS-терминацией.
  • Let's Encrypt / свой CA — для HTTPS-сертификатов.

Если вы ставите мессенджер в закрытый контур без интернета — Let's Encrypt не подойдёт, нужен внутренний удостоверяющий центр. Это добавляет шаг, но не является чем-то сверхсложным.

Типичные архитектуры: один сервер vs кластер

Один сервер (all-in-one)

Все компоненты — приложение, база данных, файловое хранилище, реверс-прокси — работают на одной машине. Обычно через Docker Compose.

Когда подходит: до 200–300 пользователей, нет требования к высокой доступности (допустим простой при обновлениях).

Плюсы: простота развёртывания, простота обслуживания, один сервер — один бэкап.

Минусы: единая точка отказа. Если сервер упал — мессенджер не работает. Если нужно обновить ОС — мессенджер не работает.

Типичная схема:

Nginx (TLS) → Application Server → PostgreSQL + Redis + File Storage

Два сервера (app + db)

Приложение на одном сервере, база данных — на другом. Это уже лучше: можно обновлять приложение без риска для данных, и наоборот.

Когда подходит: 200–500 пользователей, есть базовые требования к надёжности.

Кластер (high availability)

Несколько экземпляров приложения за балансировщиком нагрузки, реплицированная база данных, распределённое файловое хранилище (S3-совместимое, например MinIO).

Когда подходит: 500+ пользователей, жёсткие требования к доступности (99.9% uptime), несколько географических площадок.

Типичная схема:

Load Balancer (HAProxy / Nginx) → App Server 1, App Server 2, App Server N → PostgreSQL Primary + Replica → Redis Cluster → MinIO (S3)

Кластерная архитектура — это существенное усложнение. Нужен опыт работы с распределёнными системами. Если у вас нет DevOps-инженера с таким опытом — лучше начать с single-server и масштабировать по мере роста.

Администрирование: что нужно делать постоянно

Self-hosted мессенджер — это не «поставил и забыл». Вот список задач, которые нужно выполнять регулярно:

Еженедельно (30 минут)

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

Ежемесячно (2–4 часа)

  • Обновление мессенджера до актуальной версии.
  • Обновление ОС и зависимостей (патчи безопасности).
  • Ревизия пользователей: удалить уволенных, проверить права.
  • Проверить размер базы данных и файлового хранилища, оценить рост.

Ежеквартально (полдня)

  • Тестовое восстановление из бэкапа на отдельном сервере.
  • Аудит безопасности: проверить открытые порты, сертификаты, версии ПО.
  • Оценить производительность: растут ли задержки? Хватает ли ресурсов?
  • Обновить документацию (схему сети, процедуру восстановления).

В сумме — около 8–12 часов в месяц для типичной инсталляции на 100–300 пользователей. Это примерно 5% рабочего времени одного сисадмина. Не бесплатно, но и не full-time работа.

Бэкапы, обновления, мониторинг

Бэкапы

Три правила, которые нельзя нарушать:

  1. 3-2-1: три копии данных, на двух разных носителях, одна — вне офиса (или в другом ЦОД).
  2. Тестировать восстановление. Бэкап, из которого невозможно восстановиться, — это не бэкап, это декорация. Раз в квартал — реально поднимать мессенджер из бэкапа на тестовом сервере.
  3. Автоматизировать. Ручные бэкапы не делаются. Всегда. Cron + скрипт + мониторинг выполнения.

Что бэкапить:

  • Базу данных PostgreSQL (pg_dump или физический бэкап через pg_basebackup).
  • Файловое хранилище (загруженные файлы, аватарки, вложения).
  • Конфигурационные файлы (docker-compose.yml, .env, nginx.conf).
  • TLS-сертификаты (если свои, а не Let's Encrypt).

Обновления

Типичный процесс обновления для Docker-based мессенджера:

  1. Прочитать changelog новой версии (это важно — бывают breaking changes).
  2. Сделать бэкап базы и файлов.
  3. На тестовом окружении: обновить, проверить, что всё работает.
  4. На продакшене: остановить контейнеры, обновить образы, запустить, проверить.

Простой при обновлении — обычно 2–10 минут. Если это критично, нужна кластерная архитектура с rolling update.

Совет: не обновляйтесь в пятницу. Серьёзно. Если что-то пойдёт не так, лучше разбираться во вторник утром, чем в субботу ночью.

Мониторинг

Минимальный набор того, что нужно мониторить:

  • Доступность: мессенджер отвечает на HTTP-запросы? Health check endpoint.
  • CPU и RAM: если загрузка постоянно выше 80% — пора масштабировать.
  • Диск: оповещение при заполнении на 80%. При 95% — критическое.
  • Бэкапы: оповещение, если бэкап не создался.
  • SSL-сертификат: оповещение за 14 дней до истечения.

Инструменты: Prometheus + Grafana — стандарт де-факто. Если не хочется поднимать стек мониторинга — хотя бы Uptime Kuma для health check и cron + email для бэкапов.

Облако vs свой сервер: честное сравнение

Без перекосов в любую сторону. Факты.

Стоимость

Облако: $5–15 за пользователя в месяц. Для 100 пользователей — $500–1 500/мес. Предсказуемо, без неожиданностей.

Self-hosted: выделенный сервер — от 5 000 до 30 000 руб./мес (в российском ЦОД). Лицензия на ПО — зависит от продукта (от бесплатного open-source до фиксированной цены). Время администратора — 8–12 часов/мес. Для 100 пользователей — примерно 15 000–50 000 руб./мес (всё включено).

Вывод: при 50+ пользователях self-hosted обычно дешевле. При 200+ — значительно дешевле (цена сервера не растёт линейно с количеством пользователей).

Безопасность

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

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

Надёжность

Облако: обычно 99.9%+ uptime. У крупных провайдеров — 99.95%. Но: если провайдер заблокировал вас — uptime нулевой.

Self-hosted (один сервер): 99–99.5% при грамотном администрировании. Простой при обновлениях, железных проблемах, человеческих ошибках.

Self-hosted (кластер): 99.9%+ — сравнимо с облаком, но дороже и сложнее в настройке.

Скорость запуска

Облако: минуты. Зарегистрировался — работаешь.

Self-hosted: от 30 минут (простая инсталляция) до нескольких дней (кластер, интеграция с корпоративным AD/LDAP, настройка VPN).

Масштабирование

Облако: добавляешь пользователей — платишь больше. Всё масштабирование — на стороне провайдера.

Self-hosted: нужно планировать заранее. Вертикальное масштабирование (больше ресурсов серверу) — просто. Горизонтальное (больше серверов) — сложнее, зависит от архитектуры продукта.

Как развернуть b8q на своём сервере

Пошаговая инструкция. Предполагаем: Ubuntu 22.04, доступ по SSH, домен с DNS-записью, направленной на сервер.

Шаг 1: Подготовка сервера

Обновите систему и установите Docker:

sudo apt update && sudo apt upgrade -y
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

Перелогиньтесь, чтобы группа docker применилась.

Шаг 2: Скачайте конфигурацию b8q

mkdir -p /opt/b8q && cd /opt/b8q
curl -fsSL https://get.b8q.ru/docker-compose.yml -o docker-compose.yml
curl -fsSL https://get.b8q.ru/.env.example -o .env

Шаг 3: Настройте переменные окружения

Откройте файл .env и укажите:

# Домен вашего мессенджера
DOMAIN=messenger.company.ru

# Пароль базы данных (сгенерируйте надёжный)
DB_PASSWORD=your_secure_password_here

# Секретный ключ для JWT-токенов
JWT_SECRET=another_secure_random_string

# Email администратора (для Let's Encrypt)
ADMIN_EMAIL=admin@company.ru

Шаг 4: Запустите

docker compose up -d

Docker скачает образы, поднимет контейнеры (приложение, PostgreSQL, Redis, Nginx с автоматическим TLS), и через 2–3 минуты мессенджер будет доступен по адресу https://messenger.company.ru.

Шаг 5: Первоначальная настройка

Откройте мессенджер в браузере. Вы увидите мастер настройки:

  1. Создайте аккаунт администратора.
  2. Задайте название организации.
  3. Настройте первые каналы.
  4. Пригласите пользователей (по email или ссылке-приглашению).

Шаг 6: Настройте бэкапы

Добавьте в cron ежедневный бэкап базы данных:

# Создайте скрипт бэкапа
cat > /opt/b8q/backup.sh << 'SCRIPT'
#!/bin/bash
BACKUP_DIR="/opt/b8q/backups"
mkdir -p $BACKUP_DIR
docker compose exec -T postgres pg_dump -U b8q b8q | gzip > "$BACKUP_DIR/db_$(date +%Y%m%d_%H%M%S).sql.gz"
# Удалить бэкапы старше 30 дней
find $BACKUP_DIR -name "*.sql.gz" -mtime +30 -delete
SCRIPT
chmod +x /opt/b8q/backup.sh

# Добавьте в cron (каждый день в 3:00)
echo "0 3 * * * /opt/b8q/backup.sh" | crontab -

Не забудьте настроить копирование бэкапов на внешнее хранилище (другой сервер, S3, NAS).

Что дальше

После базового развёртывания вы можете:

  • Подключить корпоративный LDAP/Active Directory для единого входа.
  • Настроить интеграцию с почтовым сервером для уведомлений.
  • Настроить мониторинг (health check endpoint: /api/health).
  • Включить AI-ассистент (требует настройки API-ключа LLM-провайдера).

Полная документация по self-hosted развёртыванию — на странице Self-Hosted. Вопросы по лицензированию и тарифам — на странице тарифов.

Заключение

Мессенджер на своём сервере — это не про паранойю и не про хайп импортозамещения. Это про контроль. Контроль над данными, над доступностью, над стоимостью. Для компаний от 50 человек, с IT-отделом и минимальной инфраструктурой — это часто оптимальный выбор и по цене, и по надёжности.

Ключевые тезисы:

  • Self-hosted подходит компаниям с IT-ресурсами. Без админа — лучше в облако.
  • Начинайте с одного сервера. Масштабируйте, когда вырастете.
  • Бэкапы, бэкапы, бэкапы. И тестируйте восстановление.
  • Обновляйтесь регулярно. Не копите технический долг.
  • Мониторьте хотя бы базовые метрики.
  • Облако vs self-hosted — не вопрос «лучше/хуже». Это вопрос «что подходит вашей компании».

b8q спроектирован так, чтобы развёртывание на своём сервере было простым: Docker Compose, один конфигурационный файл, 30 минут — и у вас полноценный корпоративный мессенджер с чатом, звонками, документами и задачами. Запросите демо — и если подходит, переезжайте к себе.

Self-Hosted решение Запросить демо

Попробуйте b8q в своей команде

Чат, звонки, документы, канбан и ИИ — в одном мессенджере. На вашем сервере или в облаке.