Установка Rocket.Chat на Synology в контейнер Docker

Всем привет!!!

В этом материале речь пойдет про установку Rocket.Chat на Synology в контейнер Docker и почему MongoDB хочет обновить ваше устройство до последней версии.

Устанавливать я буду Rocket.Chat в Synology DSM 7.2 с Container Manager, который поддерживает Docker compose. Если у вас DSM 7.1.1 и ниже, то эта инструкция вам не подойдет или придется ее сильно модифицировать.

Введение

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

Преимущества:

  1. Открытый исходный код: Rocket.Chat является открытым исходным кодом, что означает, что его исходный код доступен для просмотра и изменения. Это позволяет пользователям настраивать систему в соответствии со своими потребностями, а также предоставляет возможность для сообщества вносить свой вклад в развитие системы.
  2. Масштабируемость: Rocket.Chat может масштабироваться от небольших команд до крупных корпоративных организаций, поддерживая тысячи пользователей одновременно.
  3. Интеграции: Rocket.Chat имеет множество интеграций с другими популярными сервисами, такими как Slack, GitHub, Jira, Google Drive и многими другими. Это упрощает процесс обмена информацией и совместной работы.
  4. Кросс-платформенность: Rocket.Chat доступен на различных платформах, включая веб, мобильные приложения для iOS и Android, что обеспечивает гибкость и удобство использования.

Недостатки:

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

Rocket Chat предоставляет две версии: Rocket Chat Community Edition (CE) и Rocket Chat Enterprise Edition (EE). 

Rocket Chat Community Edition (CE) является бесплатной и открытой платформой, которую можно установить на своем собственном сервере без каких-либо затрат. Rocket Chat Enterprise Edition (EE) предлагает дополнительные функциональные возможности и поддержку для предприятий. EE является платным продуктом, и его стоимость зависит от количества пользователей и требуемых функций.

Таким образом, если вы развертываете Rocket Chat на своем собственном сервере с использованием Community Edition, то это будет бесплатно. Если вам нужны дополнительные возможности и поддержка, то вам может потребоваться приобрести Enterprise Edition.

Приложения Rocket.Chat для всех ваших устройств

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

Видео ролик

youtube

YouTube player

ВК

Подготовка

В каталоге docker или там где вам больше нравиться создайте папку rocketchat, а в ней еще два пустых каталога: db и rocketchat

Затем откройте свойства папки db и в разрешениях добавьте или отредактируйте пользователя Everyone так что бы у него были права на чтение и запись как показано на картинке ниже.

Установка Rocket.Chat

Открываем Container Manager, проекты и создаем новый проект. Придумываем ему имя, выбираем путь и вставляем текст docker compose, который нужно заранее отредактировать.

В тексте есть пара нюансов.

Первое. Вам нужно заменить https://rocketchat.XXX.synology.me на свое значение.

Второе. Дело в том, что MongoDB начиная с версии 6 и 7 требует наличие у процессора инструкций AVX. В Synology это устройства начиная с 2021 года: 21+ 22+ 23+ 24+ и так далее. Исключение DS423+ DS224+.

  • Для моделей DS218+ DS718+ DS220+ DS720+ DS920+ и старее нужно установить mongoDB версии 4.4.15-debian-10-r8
  • Для моделей новее вышеперечисленных нужно установить mongoDB версии 7.0.7-debian-12-r0

Если у вас не будет крашится контейнер mongoDB значит вы выбрали не подходящею версию для вашего процессора.

version: '3.9'
services:
  rocketchat-db:
    image: docker.io/bitnami/mongodb:7.0.7-debian-12-r0 # Для моделей 20-го года и старше только 4.4.15-debian-10-r8
    container_name: rocketchat-db
    hostname: rocketchat-db
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
      interval: 10s
      timeout: 10s
      retries: 5
      start_period: 20s
    environment:
      MONGODB_REPLICA_SET_MODE: primary
      MONGODB_REPLICA_SET_NAME: rs0
      ALLOW_EMPTY_PASSWORD: yes
      MONGODB_SYSTEM_LOG_VERBOSITY: 3
    volumes:
      - ./db:/bitnami/mongodb:rw
    restart: on-failure:5

  rocketchat-app:
    image: rocketchat/rocket.chat:latest
    container_name: rocketchat-app
    hostname: rocketchat-app
    security_opt:
      - no-new-privileges:true
    environment:
      MONGO_URL: mongodb://rocketchat-db:27017/rocketchat?replicaSet=rs0
      MONGO_OPLOG_URL: mongodb://rocketchat-db:27017/local?replicaSet=rs0
      ROOT_URL: https://rocketchat.XXX.synology.me
      URL: https://rocketchat.XXX.synology.me
      PORT: 3000
      DEPLOY_METHOD: docker
    volumes:
      - ./rocketchat:/app/uploads:rw
    ports:
      - 3111:3000
    restart: on-failure:5
    depends_on:
      rocketchat-db:
        condition: service_started

Если вы все сделали верно, то в конце увидите код 0, который означает, что проект создан успешно.

В зависимости от вашего устройства нужно будет немного подождать, пока база данных создаст все необходимое для проекта rocketchat

Настройка обратного прокси

Доступ к rocketchat по доменному имени через обратный прокси. Откройте панель управления в DSM, портал для входа, дополнительно и обратный прокси. Создайте новое правило. Придумайте название правила. В источнике укажите https, имя домена, например rocketchat.XXX.synology.me и 443 порт. В месте назначения укажите http, localhost и порт 3111.

Не забудьте указать правильный сертификат ssl в настройках безопасности DSM

Первоначальная настройка

Открываем rocketchat по вашему доменному имени https://rocketchat.XXX.synology.me. В открывшемся окне придумайте имя и логин первого администратора, укажите ваш реальный почтовый ящик и придумайте сложный пароль.

На следующем этапе заполните поля как вам больше нравится

На этом этапе укажите реальную почту, на которую прейдёт письмо с активацией

Ждите письма

Пришло письмо? Смело жмите кнопку проверки регистрации

Готово, вы подтвердили и активировали вашу установку rocketchat

Теперь dds видите окно Rocket.Chat и можно продолжить настройку

Первое, что нужно поменять это язык в основных настройках

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

Третьим шагом подтвердите почту вашего пользователя в настройках профиля

И теперь в тех же настройках профиля можно включить двухфакторную аутентификацию по OTP кодам.

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

Теперь вы знаете как установить Rocket.Chat на Synology в контейнер Docker

Подписаться
Уведомить о
guest
7 Комментарий
Старые
Новые
Межтекстовые Отзывы
Посмотреть все комментарии