Развёртывание Rocket.Chat на Windows Server чаще всего упирается в одну проблему: официальная поддержка сервера ориентирована на Linux-окружение, поэтому прямая установка на Windows требует обходных путей — Docker Desktop, подсистемы WSL2 или виртуальной машины. Если после запуска веб-интерфейс недоступен по адресу http://localhost:3000, первым делом проверьте, запущен ли контейнер с MongoDB и не занят ли порт 3000 другой службой.
В этой статье разберём рабочие способы установки Rocket.Chat Server на машину с Windows Server, настройку базы данных, типичные ошибки при запуске и базовые меры безопасности. Материал подойдёт администраторам, которые хотят поднять корпоративный мессенджер внутри локальной сети без выноса данных в облако.
Что такое Rocket.Chat и зачем его ставить на Windows Server
Rocket.Chat — это open-source платформа для корпоративного общения: каналы, личные сообщения, аудио- и видеозвонки, интеграции с ботами и внешними сервисами. В отличие от облачных мессенджеров, self-hosted версия хранит всю переписку на вашем сервере, что критично для компаний с требованиями к конфиденциальности.
На практике Rocket.Chat чаще всего разворачивают на Linux, но инфраструктура многих организаций построена на Windows Server. В таком случае есть три реалистичных варианта: контейнеризация через Docker Desktop, установка внутри WSL2 (Windows Subsystem for Linux) или полноценная виртуальная машина с Ubuntu через Hyper-V. Каждый способ имеет свои ограничения, и выбор зависит от нагрузки и политики безопасности.
Системные требования и подготовка сервера
Перед установкой убедитесь, что сервер соответствует минимальным условиям. Точные требования зависят от числа пользователей, но для небольшой команды и тестового развёртывания достаточно скромной конфигурации.
- 🖥️ ОС: Windows Server 2019/2022 или Windows 10/11 Pro с поддержкой виртуализации;
- 🧠 ОЗУ: от 4 ГБ для теста, от 8 ГБ для рабочей нагрузки (MongoDB заметно потребляет память);
- 💾 Диск: SSD с запасом под базу данных и загружаемые файлы;
- 🌐 Сеть: статический IP или DNS-имя, открытые порты 3000 (приложение) и 443 (если планируется HTTPS);
- ⚙️ Виртуализация: включённая поддержка VT-x/AMD-V в BIOS для Docker и WSL2.
Также заранее решите, как пользователи будут подключаться: по IP-адресу внутри локальной сети или через доменное имя с SSL-сертификатом. От этого зависит дальнейшая настройка обратного прокси.
⚠️ Внимание: Docker Desktop имеет лицензионные ограничения для коммерческого использования в крупных организациях. Перед развёртыванием на продакшн-сервере проверьте условия лицензии Docker или рассмотрите вариант с WSL2 и Docker Engine внутри него.
Способ 1: Установка через Docker Desktop
Самый быстрый способ поднять Rocket.Chat на Windows — использовать официальные Docker-образы. Сначала установите Docker Desktop с официального сайта и убедитесь, что в настройках включён движок WSL2.
Далее создайте файл docker-compose.yml в отдельной папке. Примерная структура включает два сервиса: сам Rocket.Chat и базу данных MongoDB. Официальная документация Rocket.Chat содержит актуальный шаблон compose-файла — берите его за основу, так как версии образов и обязательные переменные окружения периодически меняются.
docker compose up -d
После выполнения команды дождитесь инициализации базы — первый запуск может занять несколько минут. Проверить статус контейнеров можно командой docker ps. Если контейнер с Rocket.Chat постоянно перезапускается, смотрите логи:
docker logs rocketchat
Чаще всего причина падения — недоступность MongoDB или несовместимость версии образа Rocket.Chat с версией MongoDB. Rocket.Chat чувствителен к версии базы данных, поэтому не подставляйте произвольный тег latest для MongoDB, а используйте версию, рекомендованную в официальном compose-файле.
☑️ Проверка после запуска Rocket.Chat
Способ 2: Развёртывание через WSL2
Если Docker Desktop недоступен по лицензионным причинам, можно установить Rocket.Chat внутри WSL2. Для этого включите компонент подсистемы Linux и установите дистрибутив Ubuntu из Microsoft Store.
wsl --install -d Ubuntu
Внутри Ubuntu установка идёт по стандартной Linux-инструкции: через snap-пакет или Docker Engine, установленный непосредственно в WSL-окружении. Вариант со snap считается самым простым, так как автоматически подтягивает и настраивает MongoDB.
Учтите важный нюанс: сетевой интерфейс WSL2 по умолчанию находится за NAT, поэтому для доступа с других машин сети потребуется проброс портов через netsh interface portproxy на стороне Windows. Без этого шага Rocket.Chat будет открываться только с самого сервера.
netsh interface portproxy add v4tov4 listenport=3000 listenaddress=0.0.0.0 connectport=3000 connectaddress=<IP_WSL>
Способ 3: Виртуальная машина Hyper-V с Linux
Для продакшн-нагрузки и изоляции сервисов надёжнее поднять полноценную виртуальную машину. В Windows Server включите роль Hyper-V, создайте ВМ с Ubuntu Server и установите Rocket.Chat по официальной Linux-инструкции — через snap, Docker или вручную из исходников.
Преимущества такого подхода очевидны: статический IP без танцев с portproxy, предсказуемое выделение ресурсов, независимость от перезагрузок хостовой системы и привычные инструменты администрирования Linux. Минус — больше ручной работы на этапе настройки.
Сравнение способов установки
| Критерий | Docker Desktop | WSL2 | Hyper-V ВМ |
|---|---|---|---|
| Сложность установки | Низкая | Средняя | Средняя |
| Доступ из сети | Из коробки | Через portproxy | Нативный |
| Лицензионные ограничения | Есть для бизнеса | Нет | Нет |
| Подходит для продакшна | С оговорками | С оговорками | Да |
| Изоляция от хоста | Средняя | Средняя | Высокая |
Как видно из таблицы, для тестирования и пилотного проекта проще всего Docker Desktop, а для постоянной эксплуатации в компании разумнее сразу поднимать виртуальную машину — это сэкономит время на миграции в будущем.
Первичная настройка после установки
После первого входа в веб-интерфейс мастер настройки предложит создать учётную запись администратора и указать данные организации. Дальше вам нужно пройтись по ключевым разделам админ-панели.
- 🔐 Аутентификация: настройте вход через LDAP/Active Directory, если мессенджер внедряется в доменную сеть;
- 📧 SMTP: укажите почтовый сервер в разделе
Администрирование → Email, иначе не будут работать приглашения и сброс паролей; - 👥 Права: проверьте роли пользователей и ограничьте самостоятельную регистрацию, если сервер не предназначен для публичного доступа;
- 📁 Файлы: выберите хранилище для вложений — локальная файловая система подходит для старта.
⚠️ Внимание: если сервер доступен из интернета, обязательно настройте HTTPS через обратный прокси (например, Nginx или Caddy) с действующим SSL-сертификатом. Передача логинов и переписки по открытому HTTP недопустима.
Типичные ошибки и их решение
Сервер не отвечает по адресу localhost:3000. Проверьте, запущены ли контейнеры, не занят ли порт другим приложением (netstat -ano | findstr :3000) и не блокирует ли подключение брандмауэр Windows. Для доступа извне создайте разрешающее правило для входящих на порт 3000.
Ошибка подключения к MongoDB в логах. Возможная причина — база ещё не инициализировалась или версия MongoDB несовместима с версией Rocket.Chat. Дождитесь полного запуска контейнера базы и сверьте версии с официальным compose-файлом.
Медленная работа интерфейса. Убедитесь, что виртуальной среде выделено достаточно оперативной памяти. Docker Desktop и WSL2 по умолчанию могут ограничивать потребление ресурсов — настройте лимиты в конфигурации.
Где хранятся данные Rocket.Chat
Все сообщения, пользователи и настройки хранятся в MongoDB, а загруженные файлы — в отдельной директории или в самой базе в зависимости от конфигурации. При работе через Docker данные сохраняются в именованных томах (volumes). Перед обновлением или миграцией обязательно делайте резервную копию тома с базой и папки с вложениями.
Резервное копирование и обновление
Регулярный бэкап — обязательная часть эксплуатации. Для Docker-развёртывания достаточно периодически копировать содержимое томов с базой данных и файлами. Для MongoDB существует штатная утилита mongodump, которая создаёт консистентный снимок базы.
Обновление Rocket.Chat в Docker выполняется заменой тега образа на новую версию и пересозданием контейнера. Перед обновлением изучите примечания к релизу: иногда требуется промежуточное обновление MongoDB или выполнение миграций.
Часто задаваемые вопросы
Можно ли установить Rocket.Chat на Windows Server без Docker и виртуализации?
Нативной установки сервера Rocket.Chat на Windows не существует — приложение рассчитано на Linux-окружение. Единственные рабочие варианты на Windows-машине: Docker, WSL2 или виртуальная машина с Linux.
Какой порт использует Rocket.Chat по умолчанию?
По умолчанию веб-интерфейс доступен на порту 3000. Для продакшна рекомендуется настроить обратный прокси с HTTPS на стандартном порту 443.
Почему Rocket.Chat не видит других пользователей в сети?
Скорее всего, сервер доступен только с локальной машины. Проверьте правила брандмауэра Windows, а при установке через WSL2 — настройте проброс портов через netsh portproxy.
Как подключить Rocket.Chat к Active Directory?
В панели администрирования есть раздел настройки LDAP, где указываются адрес контроллера домена, базовый DN и параметры поиска пользователей. Точные поля зависят от структуры вашего домена — тестируйте подключение на учётной записи с ограниченными правами.
Бесплатен ли Rocket.Chat для коммерческого использования?
Community-версия распространяется бесплатно, но часть функций (расширенные возможности управления, некоторые интеграции) доступна в платных тарифах. Проверьте актуальные условия лицензирования на официальном сайте проекта.