Rocket Chat

From SME Server
Jump to navigation Jump to search
Warning.png Work in Progress:
This page is a Work in Progress. The contents off this page may be in flux, please have a look at this page history the to see list of changes.


Rocket-dot-chat-logo.png

About

"Rocket Chat, the ultimate webchat platform. From group messages and video calls all the way to helpdesk killer features. Our goal is to become the number one cross-platform open source chat solution"

  • Video Conference Chat with your colleagues and friends face-to-face over audio and video.
  • Helpdesk chat Have your website visitors contact you in real-time and increase conversions.
  • File sharing Drag-and-drop files or select them from your computer or mobile device.
  • Voice messages Record and transmit voice messages to a channel, group or private conversation.
  • Link preview Post a link and immediately view its content. YouTube, Twitter, Gifs!
  • API Integrate your chat to multiple services: GitHub, GitLab, JIRA, Confluence and others.
  • Extendability Want a killer new feature? Add a new package. It's as simple as that.
  • Native applications Native client applications available for download on Linux, Windows and OSX.
  • Mobile applications Mobile client applications available for iOS and Android on their respective stores.

In short, a Slack alternative completely self hosted and controlled. Great for closed (company) teams.

RAW NOTES

RocketChat install script for SME Server 9.x 64-bit
Copyright 2016 RequestedDeletion (RequestedDeletion@gmail.com)

Add epel repo

/sbin/e-smith/db yum_repositories set epel repository \
Name 'Epel - EL6' \
BaseURL 'http://download.fedoraproject.org/pub/epel/6/$basearch' \
MirrorList 'http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch' \
EnableGroups no \
GPGCheck yes \
GPGKey http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL \
Exclude perl-Razor-Agent \
Visible no \
status disabled

Add Centos-rh SCL repo’s

/sbin/e-smith/db yum_repositories set scl \
repository Name 'Software collections' \
BaseURL 'http://mirror.centos.org/centos/$releasever/SCL/$basearch/' \
EnableGroups no Visible yes status disabled


/sbin/e-smith/db yum_repositories set centos-sclo-rhl \
repository Name 'Software collections' \
BaseURL 'http://mirror.centos.org/centos/$releasever/sclo/$basearch/rh/' \
EnableGroups no Visible yes status disabled

Expand new repo’s

signal-event yum-modify

Install Software Collections applications

yum install rh-python34-python rh-mongodb26-mongodb rh-mongodb26-mongodb-server nodejs010 GraphicsMagick --enablerepo=centos-sclo-rhl,epel

using NPM:

scl enable nodejs010 bash
npm install -g inherits
npm install -g n
n 0.10.40
exit

Start Mongodb as service

(please note the usage of mongod and NOT mongodb)

ln -s /etc/rc.d/init.d/e-smith-service /etc/rc7.d/S99rh-mongodb26-mongod
config set rh-mongodb26-mongod service
config setprop rh-mongodb26-mongod status enabled
config setprop rh-mongodb26-mongod access private
config setprop rh-mongodb26-mongod TCPPort 27017

Create boot scripts for software collections application

nano -w /etc/profile.d/scls-rh-mongodb26.sh

#!/bin/sh
source /opt/rh/rh-mongodb26/enable
export X_SCLS="`scl enable rh-mongodb26 'echo $X_SCLS'`"
export ROOT_URL=http://YOURSERVERIP:3000/
export PORT=3000
export MONGO_URL=mongodb://localhost:27017/rocketchat

You can set the TCP port of the ROOT_URL and PORT to any port you like, just change the db entry accordingly.

nano -w /etc/profile.d/scls-rh-python34.sh

#!/bin/sh
source /opt/rh/rh-python34/enable
export X_SCLS="`scl enable rh-python34 'echo $X_SCLS'`"

nano -w /etc/profile.d/scls-rh-java-common.sh

#!/bin/sh
source /opt/rh/rh-java-common/enable
export X_SCLS="`scl enable rh-java-common 'echo $X_SCLS'`"

nano -w /etc/profile.d/scls-nodejs010.sh

#!/bin/sh
source /opt/rh/nodejs010/enable
export X_SCLS="`scl enable nodejs010 'echo $X_SCLS'`"

Create SME Server rocket chat service

config set rocketchat service status enabled TCPPort 3000 access public
signal-event remoteaccess-update

Get RocketChat from downloads

cd /root
curl -L https://rocket.chat/releases/latest/download -o rocket.chat.tgz
tar zxvf rocket.chat.tgz
mv bundle /opt/Rocket.Chat
cd /opt/Rocket.Chat/programs/server
npm install

Start Rocket Chat

cd /opt/Rocket.Chat
node main.js &

Browse to https://yourserver:3000 and create the first admin user.

TO DO

  • Auto start Rocket Chat
  • Fine tune various things (e.g. Security)
  • Enable LDAP authentication
  • Create subdomain e.g. https://chat.yourdomain.com using the webapps-common contrib
  • Test, test, test
  • Create a contrib
  • Showcase SME Server, contribs and software collections.