Rocket.Chat

Rocket.Chat to webowy serwer czatowy napisany w JavaScript. Jest on przeznaczony do komunikacji w organizacjach oraz firmach i można go uznać za zamiennik komercyjnych rozwiązań typu Slack. Do komunikacji z serwerem aplikacji Rocket.Chat można wykorzystać klienta uruchamianego w przeglądarce jak i dedykowane aplikacje klienckie dla: Android, iOS, Windows, MacOS X jak i linux.

Wstępna konfiguracja

Przed przystąpieniem do dalszych kroków należy:

Instalacja

Pobranie i rozpakowanie paczki:

fetch https://cdn-download.rocket.chat/build/rocket.chat-1.0.0-rc.3.tgz
tar zxf rocket.chat-1.0.0-rc.3.tgz

Instalacja aplikacji:

cd ~/bundle/programs/server/  && npm8 install
npm audit fix

Wskazanie uprzednio zarezerwowanego portu (gdzie XXXX to przykładowy zarezerwowany wcześniej port):

export PORT=XXXX

Podanie danych dostępowych do bazy danych (należy podmienić: XXX nazwą uprzednio utworzonej bazy MongoDB, X numerem serwera oraz hasło do bazy):

export MONGO_URL='mongodb://moXXX_XXX:hasło@mongoX.mydevil.net:27017/moXXX_XXX'

Podanie adresu wcześniej dodanej strony www typu proxy.

export ROOT_URL='http://XXXX'

Stworzenie i podanie katalogu dla plików tymczasowych:

mkdir ~/bundle/tmp
sed -i  -e "s#/tmp/ufs#/home/${USER}/bundle/tmp/ufs#g" ~/bundle/programs/server/packages/jalik_ufs.js

Przebudowa modułu sharp

rm -R ~/bundle/programs/server/npm/node_modules/sharp/vendor
cd ~/bundle/programs/server && npm8 rebuild

Uruchomienie serwera w screen:

screen
cd ~/bundle/ && node8 main.js

Zalecane jest dodanie certyfikatu SSL dla strony (można skorzystać z darmowego certyfikatu Let's Encrypt w naszym panelu, w przypadku subdomen login.usermd.net nie ma potrzeby generowania certyfikatu) i włączenie wymuszania SSL dla strony. W przypadku braku włączonego SSL funkcjonalność będzie ograniczona. Polecenie (gdzie XXX to adres strony):

devil www options XXXX sslonly on

Więcej informacji na temat konfiguracji (w tym np. ustawienie rejestracji wymagającej potwierdzenie adresu e-mail) znajduje się w dokumentacji projektu.

Odnośniki zewnętrzne