Rocket chat docker windows

Please make sure:

  • you have at least 4 GB of memory on your Windows 10 Pro machine
  • you are running 64 bit edition of Windows 10 Pro
  • you have the latest updates installed, and no updates pending
  • you have enabled Hyper-V (requires a reboot, go to Control Panel -> Add Windows Components -> Hyper-V)
  • you have at least 20 GB of disk space, preferably SSD

Steps:

  • Download and install Docker for Windows
  • Create a file named docker-compose.yml that contains:
db:
  image: mongo:3.0
  command: mongod --smallfiles --oplogSize 128

rocketchat:
  image: rocketchat/rocket.chat:latest
  environment:
    - PORT=3000
    - ROOT_URL=http://docker:3000
    - MONGO_URL=mongodb://db:27017/rocketchat
  links:
    - db:db
  ports:
    - 3000:3000
  • In the same directory as the above file, enter command docker-compose up
  • Wait for the server to fully start, takes a couple of minutes
  • Access your Rocket.Chat server at http://docker:3000

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить 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


Эксклюзивы для подписчиков Patreon

Присоединяйтесь к моему Patreon и погрузитесь в мир Docker и DevOps. Здесь вас ждет эксклюзивный контент, разработанный специально для энтузиастов и профессионалов в области IT. Вашим наставником будет Владимир Михалев, опытный специалист, предлагающий ряд уровней членства от новичков до экспертов.

Что вы получите

🏆 Посты только для патронов: Полный доступ к глубоким статьям, которые раскрывают методы работы с Docker и DevOps, включая пошаговые инструкции, продвинутые советы и подробные анализы, недоступные широкой публике.

🏆 Ранний доступ: Получите возможность первыми узнавать о новых материалах и обучающих программах, опережая технологические тренды.

🏆 Приоритетная поддержка: Ваши вопросы и проблемы будут решены в первую очередь, обеспечивая индивидуальный подход и непосредственную помощь.

🏆 Влияние на будущий контент: Ваши предложения и отзывы напрямую влияют на выбор тем и создание учебных пособий, делая материалы максимально актуальными и полезными.

🏆 Признание и взаимодействие: Активные участники и поддерживающие пользователи получают благодарности в видео и на публичных трансляциях, подчеркивая вашу значимость для нашего сообщества.

🏆 Особые скидки: Наслаждайтесь скидками на курсы и предстоящие мероприятия, которые доступны исключительно для членов Patreon.

🏆 Возможности для нетворкинг: Общайтесь с другими IT-специалистами и энтузиастами в поддерживающей атмосфере, расширяя вашу профессиональную сеть и обмениваясь знаниями.

🏆 Искренняя благодарность и обновления: Личная благодарность за вашу поддержку, которая стимулирует создание нового контента и постоянное развитие.

Присоединяйтесь ко мне сейчас и начните свое путешествие по освоению Docker и DevOps с эксклюзивными материалами и поддерживающим сообществом!

Мои курсы

🎓 Погрузитесь в мои обширные курсы по информационным технологиям, разработанные как для энтузиастов, так и для профессионалов. Независимо от того, хотите ли вы освоить Docker, покорить Kubernetes или углубить свои навыки в области DevOps, мои курсы предлагают структурированный путь к повышению вашего технического мастерства.

Мои услуги

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

Пополнить запасы моего кофе

💡 Telegram | Boost

💖 PayPal

🏆 Patreon

💎 GitHub

🥤 BuyMeaCoffee

🍪 Ko-fi

Подпишись

⭐ Telegram | Блог

🎬 YouTube

🐦 Twitter

🎨 Instagram

🐘 Mastodon

🧵 Threads

🎸 Facebook

🧊 Bluesky

🎥 TikTok

💻 LinkedIn

📣 daily.dev Squad

🧩 LeetCode

🐈 GitHub

Этот контент создан искусственным интеллектом?

Нет! Каждая статья — результат моей работы, наполненной страстью к Docker и десятилетиями опыта в IT. Я применяю ИИ для улучшения грамматики, чтобы обеспечить четкость технических деталей, однако все идеи, стратегии и рекомендации исключительно мои. Этот метод иногда может вызывать срабатывание детекторов ИИ, но можете быть уверены, что вся представленная информация и опыт — подлинно мои.

Устанавливаем Rocket.Chat на платформе Docker, настраиваем обратный прокси для HTTPS-доступа и выполняем интеграцию с Active Directory


устанавливаем Docker Engine — Community и Docker Compose, как рассказывается в этой статье

создаем папку для хранения параметров развертывания контейнеров

mkdir /etc/docker/rocketchat

создаем файл /etc/docker/rocketchat/docker-compose.yml с параметрами развертывания контейнеров

version: '3.7'
 
networks:
  net:
    ipam:
      config:
        - subnet: 192.168.102.1/24
 
volumes:
  db:
  conf:
  app:
  proxy:
 
services:
  db:
    container_name: rocketchat_db
    image: mongo:latest
    networks:
      - net
    volumes:
      - db:/data/db
      - conf:/data/configdb
    command: mongod --replSet rs0
    restart: always
 
  app:
    depends_on:
      - db
    container_name: rocketchat_app
    image: rocket.chat:latest
    networks:
      - net
    volumes:
      - app:/app/uploads
    environment:
      - PORT=3000
      - ROOT_URL=https://chat.domain.com/
      - MONGO_URL=mongodb://db/rocketchat
      - MONGO_OPLOG_URL=mongodb://db/local
    restart: always
 
  proxy:
    depends_on:
      - app
    container_name: rocketchat_proxy
    image: httpd
    networks:
      - net
    ports:
      - 80:80
      - 443:443
    volumes:
      - proxy:/usr/local/apache2
    restart: always

создаем контейнеры, разделы и сети

docker-compose -f /etc/docker/rocketchat/docker-compose.yml up —no-start

запускаем контейнер базы данных

docker container start rocketchat_db

подключаемся к контейнеру

docker exec -t -i rocketchat_db bash

запускаем интерфейс командной строки MongoDB

mongo

выполняем инициализацию набора репликации

rs.initiate({ _id : «rs0», members: [{ _id: 0, host: «localhost:27017» }] })

проверяем параметры и статус репликации

rs.conf()
rs.status()

выходим из интерфейса командной строки MongoDB

exit

отключаемся от контейнера базы данных

exit

запускаем контейнер приложения

docker container start rocketchat_app

запускаем контейнер прокси

docker container start rocketchat_proxy

настраиваем Apache контейнера прокси так же, как в этой статье, за исключением следующего:

LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so 

<VirtualHost *:80>
  Redirect permanent / https://chat.domain.com/
</VirtualHost>
 
<VirtualHost *:443>
  SSLEngine on
  SSLCertificateKeyFile /usr/local/apache2/conf/private.key
  SSLCertificateFile /usr/local/apache2/conf/public.cer
  SSLCertificateChainFile /usr/local/apache2/conf/chain.cer
  RewriteEngine On
  RewriteCond %{HTTP:Upgrade} =websocket [NC]
  RewriteRule /(.*) ws://app:3000/$1 [P,L]
  RewriteCond %{HTTP:Upgrade} !=websocket [NC]
  RewriteRule /(.*) http://app:3000/$1 [P,L]
  ProxyPassReverse / http://app:3000/
</VirtualHost>

проходим в браузере по ссылке https://chat.domain.com

в разделе «Администрирование — Настройки — Протокол LDAP» выполняем настройку интеграции с Active Directory

основные

    включить LDAP - да
    резервная авторизация - да (иначе авторизация под локальным администратором будет невозможна)
    найти пользователя после входа в систему - да
    хост - dc.domain.local
    ldap-порт - 389
    переподключение - да
    шифрование - без шифрования
    base DN - cn=users,dc=domain,dc=local

аутентификация

    включить - да
    user DN - cn=rocketchat,cn=users,dc=domain,dc=local
    пароль - ...

синхронизация/импорт

    поле "Имя пользователя" - sAMAccountName
    поле уникального идентификатора - objectGUID
    домен по умолчанию - не указан
    объединить существующих пользователей - да
    синхронизация пользовательских данных - да
    карта пользовательских данных - {"displayName":"name", "mail":"email"}
    синхронизация групп - нет
    синхронизация пользовательских аватаров - да
    фоновая синхронизация - да
    интервал фоновой синхронизации - every 8 hours
    фоновая синхронизация импортирует новых пользователей - да
    Фоновая синхронизация обновляет сущестующих пользователей - да

поиск пользователей

    фильтр - (&(objectclass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(memberOf:1.2.840.113556.1.4.1941:=cn=пользователи rocket.chat,cn=users,dc=domain,dc=local))
    область - sub
    поле поиска - sAMAccountName

замечание: для успешного импорта пользователей соответствующие учетные записи Active Directory должны включать атрибут mail

включаем использование для отображения имен пользователей атрибута displayName (вместо sAMAccountName)

внешний вид - пользовательский интерфейс - использовать настоящее имя - да

включаем поддержку кириллицы в названиях каналов

общие настройки - UTF8 - проверка имен UTF8 - добавляем диапазоны символов А-Яа-я

выполняем тихую установку клиентов использую параметры установщика /S /allusers /disableAutoUpdates

Docker · December 21, 2024


Rocket.Chat is an open-source communication platform that allows teams to collaborate in real-time through chat, video, and audio calls. It is a popular choice for organizations looking to create a self-hosted chat solution. One of the most efficient ways to deploy Rocket.Chat is by using Docker, a platform that automates the deployment of applications inside lightweight containers. This article will guide you through the steps to install Rocket.Chat using Docker.

Prerequisites

Before you begin the installation process, ensure that you have the following prerequisites:

  • A server with Docker installed. You can use a VPS (Virtual Private Server) for this purpose.
  • Basic knowledge of command-line interface (CLI) commands.
  • Access to your server via SSH.

Step 1: Install Docker

If Docker is not already installed on your server, you can install it by following these commands:

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce

After installation, verify that Docker is running:

sudo systemctl status docker

Step 2: Install Docker Compose

Docker Compose is a tool for defining and running multi-container Docker applications. To install Docker Compose, run the following commands:

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

Step 3: Create a Docker Compose File

Next, create a directory for Rocket.Chat and navigate into it:

mkdir rocket.chat
cd rocket.chat

Now, create a file named docker-compose.yml using your preferred text editor:

nano docker-compose.yml

In this file, add the following configuration:

version: '3'
services:
  rocketchat:
    image: rocketchat/rocket.chat:latest
    restart: always
    ports:
      - 3000:3000
    environment:
      - ROOT_URL=http://localhost:3000
      - MONGO_URL=mongodb://mongo:27017/rocketchat
      - REDIS_URL=redis://redis:6379
    depends_on:
      - mongo
      - redis

  mongo:
    image: mongo:4.0
    restart: always
    volumes:
      - mongo-data:/data/db

  redis:
    image: redis:alpine
    restart: always

volumes:
  mongo-data:

Step 4: Start Rocket.Chat

With the docker-compose.yml file created, you can now start Rocket.Chat by running:

docker-compose up -d

This command will download the necessary images and start the Rocket.Chat application along with its dependencies (MongoDB and Redis) in detached mode.

Step 5: Access Rocket.Chat

Once the containers are up and running, you can access Rocket.Chat by navigating to http://your-server-ip:3000 in your web browser. You will be greeted with the Rocket.Chat setup page, where you can create an admin account and configure your chat server.

Troubleshooting

If you encounter any issues during the installation, check the logs of the Rocket.Chat container for errors:

docker-compose logs rocketchat

This command will provide insights into any problems that may have occurred during startup.

Conclusion

Installing Rocket.Chat using Docker is a straightforward process that allows you to set up a powerful communication tool for your team. By following the steps outlined in this article, you can have your own self-hosted chat solution running in no time. For those looking for reliable infrastructure to host their applications, consider exploring USA VPS Hosting options that can provide the necessary resources for your Rocket.Chat deployment.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Ремонтный диск для windows 10
  • Addictive drums для windows
  • Как удалить общий доступ к папке windows 10
  • Установка этой программы возможна только в версиях windows для следующих архитектур процессоров x64
  • Vagkkl fiatecuscan как установить на windows