Всем привет!!!
В этом материале речь пойдет про установку Rocket.Chat на Synology в контейнер Docker и почему MongoDB хочет обновить ваше устройство до последней версии.
Устанавливать я буду Rocket.Chat в Synology DSM 7.2 с Container Manager, который поддерживает Docker compose. Если у вас DSM 7.1.1 и ниже, то эта инструкция вам не подойдет или придется ее сильно модифицировать.
Введение
Rocket Chat – это открытая платформа для обмена сообщениями и совместной работы в реальном времени. Она предоставляет возможность создания чат-комнат, обмена файлами, видеозвонков, интеграции с другими сервисами и многое другое. Rocket Chat поддерживает как облачное развертывание, так и установку на собственные серверы, что делает ее удобным инструментом для командной работы как в небольших компаниях, так и в крупных организациях.
Преимущества:
- Открытый исходный код: Rocket.Chat является открытым исходным кодом, что означает, что его исходный код доступен для просмотра и изменения. Это позволяет пользователям настраивать систему в соответствии со своими потребностями, а также предоставляет возможность для сообщества вносить свой вклад в развитие системы.
- Масштабируемость: Rocket.Chat может масштабироваться от небольших команд до крупных корпоративных организаций, поддерживая тысячи пользователей одновременно.
- Интеграции: Rocket.Chat имеет множество интеграций с другими популярными сервисами, такими как Slack, GitHub, Jira, Google Drive и многими другими. Это упрощает процесс обмена информацией и совместной работы.
- Кросс-платформенность: Rocket.Chat доступен на различных платформах, включая веб, мобильные приложения для iOS и Android, что обеспечивает гибкость и удобство использования.
Недостатки:
- Сложность настройки: 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
ВК
Подготовка
В каталоге 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