Мессенджер Rocket.Chat

При рассмотрении разных мессенджеров возникает большое кол-во притензий к функционалу того или иного, были рассмотрены и отклонены:

  • skype, telegram и т.п. — не рассматривались, по причине необходимости держать свой сервер
  • slack — бесплатный аккаунт имеет ограничение 10 000 сообщений
  • jabber — очень грустные клиенты, невозможно синхронизировать сообщения между клиентами
  • mattermost — деревянный, внешний вид приложения отстает лет на 10 — скорость работы приложения оставляет желать лучшего, отсутствие некоторых небольших но очень удобных функций (отображение редактирований сообщения, возможность запрет пользователям использовать nickname и т.п. …)
  • rocket.chat — на него и пал наш выбор, рассмотрим процедуру его развертывания

Установка rocket.chat

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

Требования:

  • CentOS 7
  • 1G ram. IP к примеру 192.168.100.100
  • Домен example.com (не обязательно)

Обновяем систему и подключаем epel репу:

Установка MongoDB

подключим репу:

Установка Node.js, GraphicsMagick, npm and других зависимостей:

Установка Graphics Magick в CentOS 7

скачаем Graphics Magick

установим зависимости

И еще намножко зависимостей:

Сборка и установка GM с OpenMP (использовался данный вариант при установке rocket.chat)

Сборка и установка GM без OpenMP

Установка GM без OpenMP и в каталог /usr/bin

Также нам понадобиться fibers

nodejs необходим 4.x.x версии, на 7.5 не захотел работать, ошибка вида:

4 версию собираем из исходников

Для этого нужно загрузить исходники с сайта проекта. На странице загрузки

Распакуем и собирем

Проверяем, что нужная версия находится в определенном месте:

Установим Rocket.Chat

Создадим rocketchat.service

!!! стоит обратить внимание !!!

  • в переменной ExecStart указываем путь к бинарнику node нужной версии (4.х.х)
  • в переменной ROOT_URL указываем домен или IP

Запустим MongoDB

Запускаем Rocket.chat

Добавить в firewall исключения для 3000 порта:

  • если используется firewall-cmd

  • если используется iptables

Успешно запушенный rocker.chat в /var/log/messages

Также слушает node 3000 порт

Откроем наш rocket.chat

 

Далее можно установить nginx и красиво убрать :3000 из URL

Для начало необходимо установим сам nginx — клац

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

 

История сообщений:

Подключаемся к mongo

Смотри какие есть базы и выбираем нашу:

Далее выбираем из базы все чаты и ищем необходимый ID комнаты (приватной переписки или групповой чат).

Используем нужный ID чтобы получить историю сообщений:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *