Своя видеосвязь вместо Zoom: разворачиваем Jitsi для внутренних совещаний
Полгода назад один клиент — юрфирма на 18 человек — задал мне простой вопрос: а куда вообще улетают записи наших созвонов в Zoom? Я не смог ответить внятно. Полез разбираться, и мне не понравилось то, что я нашёл. С тех пор я поднял Jitsi уже в пяти компаниях, и в этой статье расскажу, как это делается, сколько стоит и где вылезают грабли.
Зачем вообще отказываться от Zoom
Начнём с денег, это всегда понятнее всего. Zoom Business для команды из 20 человек — это примерно 200-250 долларов в месяц, если считать по актуальному курсу и с учётом того, что часть лицензий висит без дела, потому что уволенного сотрудника вовремя не отписали. За год набегает 200-250 тысяч рублей. Свой сервер на арендованном VPS обходится в 1500-3000 рублей в месяц. Экономия очевидна, но не она главная.
Главное — это где лежат записи ваших совещаний. У юрфирмы это обсуждение позиции по делу клиента. У медклиники — созвон с пациентом, где звучат диагнозы. У бухгалтерии на аутсорсе — разбор зарплатной ведомости с цифрами конкретных людей. Всё это по закону — персональные данные, и по 152-ФЗ они должны обрабатываться так, чтобы вы понимали, где физически стоит сервер. А с Zoom вы этого не понимаете. Сервера у них по всему миру, и куда именно улетела ваша запись — большой вопрос.
Добавлю личное наблюдение. Zoom и похожие сервисы регулярно правят условия использования, и в какой-то момент там появляются пункты про использование данных для обучения моделей, про доступ техподдержки к записям и так далее. Читать это никто не читает. А зря — там бывает интересное.
Что такое Jitsi и почему не что-то другое
Jitsi Meet — открытый проект, за которым сейчас стоит 8x8, но код полностью открыт и бесплатен. Внутри три компонента: Prosody — сервер сообщений на базе XMPP, он же держит логику комнат, Jicofo — конференц-фокус, дирижёр, который управляет сессией, и JVB, видеомост, через который реально бегает видео и звук. Всё это разработчики упаковали в Docker-контейнеры, и разворачивается это одной командой, если руки не из того места.
Я рассматривал и альтернативы. BigBlueButton заточен под вебинары и обучение, там сильная доска и слайды, но для обычной летучки это избыточно и тяжелее по железу. Свой сервер на базе Asterisk с видео — это боль на неделю настройки ради результата хуже, чем у Jitsi из коробки. Mattermost Calls — неплохо, но требует уже развёрнутого Mattermost. Для задачи «внутренние совещания вместо Zoom» Jitsi просто самый быстрый путь от нуля до рабочего звонка.
У одного клиента, производство мебели под Подольском, айтишник до меня уже пробовал сам поднять BigBlueButton по гайду с ютуба. Три дня потратил, звук с эхом, видео разваливается на четвёртом участнике. Снёс всё и вызвал нас. Мы поставили Jitsi за четыре часа, включая настройку домена и сертификата.
Что нужно из железа и сети
Для компании до 50 рабочих мест, где одновременно созваниваются реально человек 10-15, хватает VPS с 4 ядрами и 8 гигабайтами памяти. Диск можно небольшой, 40-60 гигабайт, если не планируете хранить архив записей месяцами. Из провайдеров я обычно беру Timeweb или Selectel — оба дают статический IP и вменяемую поддержку, а главное, сервера физически в России, что для того же 152-ФЗ и снимает половину вопросов.
Отдельная тема — сеть. Видеомост JVB генерирует трафик пропорционально числу участников и включённым камерам. Грубая прикидка: конференция на 10 человек с видео у всех съедает 15-20 мегабит в обе стороны на сервере. Если у вас в офисе интернет 100 мегабит и это симметричный канал — вообще без вопросов. Если асимметричный, как у многих на обычном домашнем тарифе от Ростелекома, узкое место — исходящий канал от сервера к участникам, тут спасает только выбор дата-центра с хорошей магистралью.
Ещё нужен TURN-сервер для тех, кто сидит за жёстким NAT или корпоративным файрволом — у нас в паре проектов уже стоит coturn для других задач, и туда же можно завернуть трафик Jitsi. Без TURN часть подключений просто не устанавливается, участник видит вечную загрузку и звонит в поддержку с фразой «у меня чёрный экран».
Разворачиваем: пошагово, без магии
Берём чистый Ubuntu 22.04, ставим Docker и Docker Compose — две команды. Дальше клонируем официальный репозиторий docker-jitsi-meet, копируем env.example в .env, и вот тут начинается настоящая настройка: домен, публичный IP, включаем аутентификацию через LDAP или простую базу пользователей, чтобы комнату мог создать только сотрудник, а не случайный человек по ссылке.
Обязательно нужен нормальный SSL-сертификат — без него браузер откажется отдавать доступ к камере и микрофону, это требование современных стандартов веб-безопасности, не прихоть Jitsi. Let's Encrypt через Certbot решает вопрос бесплатно и на автомате продлевает сертификат каждые три месяца. Домен для сервиса лучше отдельный, что-то вроде call.вашакомпания.ru, а не поддомен основного сайта.
После первого запуска обязательно проверяю три вещи: заходит ли внешний участник из другой сети без VPN, держится ли звонок дольше 40 минут — да-да, это шпилька в сторону бесплатного Zoom с его лимитом — и что происходит при внезапном обрыве связи у одного из участников. Jitsi в этом плане ведёт себя предсказуемо: отвалившийся просто переподключается, сессия у остальных не рвётся.
Запись совещаний и где она хранится
Для записи в Jitsi используется отдельный компонент Jibri — он буквально открывает headless-браузер, заходит в комнату как обычный участник и записывает то, что видит, в файл. Звучит немного странно, но работает стабильно. Запись падает либо на локальный диск сервера, либо сразу улетает на S3-совместимое хранилище, если настроить выгрузку.
Вот здесь и есть весь смысл нашей затеи: файл лежит там, где решили вы. Хотите — на своём NAS в офисе, хотите — в бакете Yandex Object Storage с шифрованием на стороне клиента. У одной из клиник, с которой мы работаем, запись приёма пациента по видеосвязи по регламенту обязана храниться пять лет в защищённом контуре. С Zoom это вообще нерешаемая задача без отдельной корпоративной лицензии за космические деньги. С Jitsi — просто настройка cron-скрипта, который копирует файлы на защищённый диск и подчищает исходники.
Отдельно скажу про Jibri: он прожорливый по ресурсам, каждая параллельная запись — это фактически ещё один браузер с рендерингом видео. Если совещания с записью идут часто и параллельно, лучше вынести Jibri на отдельную виртуалку, не мешать с основным видеомостом.
Что не так гладко, как хотелось бы
Буду честен, не всё идеально. Мобильное приложение Jitsi заметно уступает Zoom по полировке интерфейса — иногда камера на iPhone включается с задержкой в пару секунд, раздражает. Виртуальный фон работает не так надёжно, особенно на слабом железе у сотрудника — на ноутбуке пятилетней давности вентилятор начинает выть, стоит включить размытие фона.
Комнаты для подгрупп, breakout rooms, в Jitsi появились относительно недавно и работают проще, чем в Zoom — без гибкой автоматической рассадки участников. Для внутренней летучки это некритично, а вот для проведения полноценного тренинга с разбивкой на группы иногда неудобно.
И главное — сервер требует присмотра. Обновления безопасности, мониторинг диска под записи, перезапуск контейнеров после апдейта Docker. Это не разовая настройка и забыл, а вопрос, который либо берёт на себя штатный айтишник, либо отдаётся на аутсорс, как делают у нас три клиента — раз в месяц заходим, проверяем логи, обновляем версию.
Кому это подходит, а кому пока рано
Если у вас в штате уже есть человек, который поднимал хотя бы один Linux-сервер и не боится командной строки, разворачивание Jitsi — вопрос одного рабочего дня и дальше почти нулевые трудозатраты. Для юрфирм, медклиник, бухгалтерских контор — везде, где есть чувствительные разговоры и обязанность их хранить определённым образом, это фактически обязательная вещь, а не опция для энтузиастов.
Если у вас созвоны на 50-100 человек одновременно, вебинары с внешней аудиторией и активным чатом — тут я бы не спешил резать Zoom под ноль. Своя инфраструктура такого масштаба требует уже кластера из нескольких видеомостов и отдельного администратора, который этим живёт. Для внутренних летучек, планёрок, созвонов с клиентами один на один — Jitsi справляется полностью и без всяких оговорок.
У себя в компании мы вообще держим гибридную схему: внутренние совещания и разборы с клиентами — через свой Jitsi, а вебинары для широкой аудитории раз в квартал — через Zoom по разовой лицензии на месяц. И то, и другое живёт спокойно, просто задачи разные.
Частые вопросы
Сколько человек одновременно потянет обычный сервер?
На VPS с 4 ядрами и 8 гигабайтами памяти комфортно работают 10-15 участников с включённым видео в одной комнате. Если нужно больше или несколько параллельных совещаний, докидываете ядра и память либо разносите видеомост на пару серверов — Jitsi это позволяет через кластер JVB.
Насколько это безопасно по сравнению с Zoom?
Безопасность зависит от того, кто настраивал, а не от самого продукта. При правильной настройке — сертификат, аутентификация участников, закрытый TURN — Jitsi даёт даже больше контроля, чем Zoom, просто потому что вы сами видите весь трафик и все логи, а не верите чужим заверениям.
Что будет, если сервер упадёт во время важного созвона?
Совещание прервётся, как и с любым сервисом при сбое. Разница в том, что при своём сервере вы контролируете время восстановления сами, а не ждёте, пока Zoom признает проблему на статус-странице. У нас настроен мониторинг с автоматическим уведомлением в Telegram при падении контейнеров и автоперезапуском.
Можно ли подключить обычных сотрудников без установки программ?
Да, это одно из главных преимуществ Jitsi — созвон открывается прямо в браузере по ссылке, без установки клиента. Единственное условие — использовать современный Chrome, Firefox или Edge, в старых версиях Internet Explorer это не заработает, но таких у клиентов уже почти не остаётся.
Приходите к нам в АйТи-Фреш — за один день поставим Jitsi, настроим запись и хранение под ваши требования, и покажем, как этим пользоваться.
Бесплатная консультация →
Подпишитесь на рассылку ITfresh
Раз в неделю — практические гайды для руководителя и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.
