Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить Rocket.Chat с использованием Docker Compose.

Rocket.Chat - это открытая и полностью настраиваемая коммуникационная платформа, разработанная на JavaScript для организаций с высокими стандартами защиты данных.

💾 Репозиторий, использованный в этом руководстве, можно найти на GitHub.

Мы будем использовать Traefik в качестве нашего обратного прокси. Он будет отвечать за получение криптографических сертификатов от Let’s Encrypt для ваших доменных имен и направлять запросы к соответствующим службам на основе этих доменов.

❗ Для получения криптографических сертификатов вам потребуются записи типа A во внешней зоне DNS, которые указывают на IP-адрес вашего сервера, где установлен Traefik. Если вы создали эти записи недавно, следует подождать, прежде чем начать установку сервисов. Полная репликация данных записей между DNS-серверами может занять от нескольких минут до 48 часов или даже больше в редких случаях.

В этом руководстве мы будем рассматривать тот случай, когда у вас уже есть сервер с установленной на нем операционной системой Ubuntu Server 22.04 LTS.

Подробно о том, как установить Ubuntu Server 22.04 LTS, вы можете прочитать в моем руководстве “Установка Ubuntu Server 22.04 LTS”.

Также на сервере должен быть установлен Docker Engine и Docker Compose.

Узнать о том, как установить Docker Engine на Ubuntu Server, вы можете, прочитав “Установка Docker Engine и Docker Compose на Ubuntu Server”.

Кроме того, на сервер должен быть установлен OpenSSH, а также открыт 22 порт, чтобы иметь возможность подключаться к серверу по протоколу SSH.

Для установки OpenSSH на сервер вы можете воспользоваться командой:

sudo apt install openssh-server

Если вы планируете подключиться к серверу, используя операционную систему Windows, то можете воспользоваться PuTTY или MobaXterm.

В данном руководстве рассматривается подключение к серверу при помощи терминального эмулятора iTerm2, установленного на операционную систему macOS.

💡 Обратите внимание, вам потребуется открыть следующие порты TCP для доступа к сервисам:

  • TCP порт 80 - для получения бесплатного криптографического сертификата через центр сертификации Let’s Encrypt.
  • TCP порт 443 - для доступа к веб-интерфейсу Rocket.Chat.
  • TCP порт 2222 - для безопасных операций Git через SSH, управления SSH-ключами пользователя, зашифрованной передачи данных и задач администрирования сервера.

Подключаемся к серверу, на который планируется установить Rocket.Chat.

Теперь необходимо создать сети для ваших служб.

Создаем сеть для Traefik с помощью команды:

docker network create traefik-network

Установка Rocket.Chat с использованием Docker Compose

Создаем сеть для Rocket.Chat с помощью команды:

docker network create rocketchat-network

Установка Rocket.Chat с использованием Docker Compose

Далее нужно клонировать репозиторий, который содержит конфигурационные файлы, которые содержать все необходимые условия для работы Rocket.Chat.

Клонировать репозиторий можно с помощью команды:

git clone https://github.com/heyValdemar/rocketchat-traefik-letsencrypt-docker-compose.git

Установка Rocket.Chat с использованием Docker Compose

Переходи в директорию с репозиторием с помощью команды:

cd rocketchat-traefik-letsencrypt-docker-compose

Установка Rocket.Chat с использованием Docker Compose

Далее вам необходимо изменить переменные в файле .env в соответствии с вашими требованиями.

💡 Обратите внимание, что .env должен находиться в той же директории, что и rocketchat-traefik-letsencrypt-docker-compose.yml.

Теперь запустим Rocket.Chat с помощью команды:

docker compose -f rocketchat-traefik-letsencrypt-docker-compose.yml -p rocketchat up -d

Установка Rocket.Chat с использованием Docker Compose

Для доступа к панели управления Rocket.Chat необходимо с рабочей станции перейти по ссылке https://rocketchat.heyvaldemar.net, где rocketchat.heyvaldemar.net — доменное имя моего сервиса. Соответственно, вам необходимо указать свое доменное имя, которое указывает на IP-адрес вашего сервера с установленным сервисом Traefik, который перенаправит запрос к Rocket.Chat.

💡 Обратите внимание, вам нужно указать доменное имя сервиса, заданное ранее в файле .env.

Далее нам нужно создать нового пользователя, который будет иметь права администратора в Rocket.Chat.

В поле “Full name” введите имя и фамилию нового пользователя Rocket.Chat.

В поле “Username” укажите логин для нового пользователя Rocket.Chat.

В поле “Email” укажите текущий адрес электронной почты для нового пользователя Rocket.Chat.

В поле “Password” установите надежный пароль для нового пользователя Rocket.Chat.

Нажмите кнопку “Next”.

Установка Rocket.Chat с использованием Docker Compose

Теперь вам нужно заполнить информацию о вашей организации.

В поле “Organization name” введите название вашей организации.

В поле “Organization industry” укажите профиль или сектор вашей организации.

В поле “Organization size” укажите количество сотрудников в вашей организации.

В поле “Country” укажите страну, в которой работает ваша организация.

Нажмите кнопку “Next”.

Установка Rocket.Chat с использованием Docker Compose

Теперь вам нужно зарегистрировать ваш сервер, чтобы использовать такие услуги, как мобильные push-уведомления, интеграция с внешними поставщиками и многое другое.

В поле “Cloud account email” укажите текущий адрес электронной почты.

Далее вы должны прочитать и принять условия использования предоставляемых услуг.

Нажмите кнопку “Register”.

Установка Rocket.Chat с использованием Docker Compose

Вы получите письмо на указанный ранее адрес с ссылкой для регистрации вашего сервера Rocket.Chat.

Установка Rocket.Chat с использованием Docker Compose

Найдите письмо и нажмите на кнопку “Verify registration”.

Установка Rocket.Chat с использованием Docker Compose

Ваш сервер был успешно зарегистрирован.

Установка Rocket.Chat с использованием Docker Compose

Добро пожаловать в панель управления Rocket.Chat.

Установка Rocket.Chat с использованием Docker Compose

Для доступа к панели управления Traefik необходимо с рабочей станции перейти по ссылке https://traefik.rocketchat.heyvaldemar.net, где traefik.rocketchat.heyvaldemar.net — доменное имя моего сервиса. Соответственно, вам необходимо указать свое доменное имя, которое указывает на IP-адрес вашего сервера с установленным Traefik.

💡 Обратите внимание, вам нужно указать доменное имя сервиса, заданное ранее в файле .env.

Указываем имя пользователя и пароль, заданный ранее в файле .env, и нажимаем на кнопку “OK”.

Установка Rocket.Chat с использованием Docker Compose

Добро пожаловать в панель управления Traefik.

Установка Rocket.Chat с использованием Docker Compose

Мои услуги

💼 Загляните в мой каталог услуг и узнайте, как мы можем сделать вашу технологическую жизнь лучше. Будь то повышение эффективности вашей IT-инфраструктуры, развитие вашей карьеры или расширение технологических горизонтов — я здесь, чтобы помочь вам достичь ваших целей. От DevOps-трансформаций до сборки игровых компьютеров — давайте сделаем ваши технологии непревзойденными!

Пополнить запасы кофе автора

💡 Telegram | Boost
💖 PayPal
🏆 Patreon
💎 GitHub
🥤 BuyMeaCoffee
🍪 Ko-fi

Владимир Михалев
Я - Владимир Михалев, Капитан Docker, но друзья могут называть меня Вальдемарыч.

DevOps комьюнити

Привет! 👋 Если у тебя есть вопросы по установке или настройке, то задайте их мне и другим IT-экспертам нашего сообщества: