/Rocket.Chat.RaspberryPi

Run a private social network on your Pi for iPhone and Android devices !

Primary LanguageShellMIT LicenseMIT

Rocket.Chat on Pi Logo

  • Raspberry Pi is the tiny $30 quad-core computer that revolutionalized affordable servers
  • Rocket.Chat is the popular high performance, large capacity, open source web chat platform that rocked the server world

You can now run a private chat server on your Pi for:

  • family
  • social or hobby group
  • sports team
  • school
  • office

Picture of mobile Rocket.Chat in action

Enjoy Rocket.Chat features including:

  • Video and audio chat
  • Share photos and voice messages
  • Share streaming music and video links
  • iOS app for iPhones and iPads
  • App for Android phones and tablets
  • Desktop app for Windows, MacOSX and Linux
  • Operate in 22 different languages
  • Multiple Rooms
  • Direct Messages
  • Private Groups
  • Off the record encrypted messages
  • Avatars
  • Emojis
  • Media Embeds
  • Link Previews
  • Many more ...

Background

This project adapts the Rocket.Chat server to run on a Raspberry Pi 3

Learn about Rocket.Chat.

Installation

You can get a Rocket.Chat server and a mongoDB instance working on your Raspiberry Pi 2 or Pi 3 in a couple of minutes with Ubuntu Core 16!

  • Follow these instructions to download and install the Ubuntu Core 16 SD card image for your Raspberry Pi 2 or Pi 3
  • Perform sudo snap install rocketchat-server. This will take a couple of mintues. Wait about 2 minutes after everything has completed.
  • Then, access http://<server ip>:3000 to access your Rocket.Chat server! Create the first user, which will become the server's adminsitrator. Have fun!

Put your chat server on the Internet for global access

With your Rocket.Chat server up and running, start another shell - typically (Ctrl-Alt-F2) or (Ctl-Alt-F3).

Login, download and start ngrok (see ngrok.com if you need more information):

curl https://dl.ngrok.com/ngrok_2.0.19_linux_arm.zip -o ngrok.zip unzip ngrok.zip cd ngrok ./ngrok http 3000 Now follow the instruction and give the ngrok link to your friends and family anywhere in the world.

They can access your server via the ngrok link.

Enable https:// support for your domain name

If you have a registered domain name and a static IP address for your Pi, you can expose your server on the Internet with automatic SSL support. See this for instructions on caddy (reverse proxy that is included in the installation snap) configuration: https://rocket.chat/docs/installation/manual-installation/ubuntu/snaps/autossl

HINT: if you want to use the voice and video chat features, make sure you give them the link starting with https://

Make sure you are using a Pi 3 (or Pi 2) with these instructions.

Pi Zero, Pi Model B, Pi Model B+, or even Pi Model A can all run Rocket.Chat; but have different CPU, memory configurations and instruction sets that may require some additional work - see FAQ to work with these Pi s.

Our community members are running Rocket.Chat on EVERY MODEL of Pi ever manufactured - so come over to our friendly community hangout if you get stuck.

And YES, Rocket.Chat even runs on the $5 Pi Zero! Making it the first-ever $5 private social network that EVERYONE can afford !

A $5 private social network that EVERYONE can afford

Old way of manual installation: On Raspbian only

Make sure you start with a CLEAN INSTALL of Raspbian JESSIE -- NOT Wheezy

Get latest Raspian for your Pi

Find download here (this instruction assumes Raspbian Jessie):

https://www.raspberrypi.org/downloads/raspbian/

Use the shell (you do not need the GUI), get the latest fix and updates:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git
Get required node and npm

The version of node distributed with Raspian is too old. npm is not included.

The easiest way to get both is to clone from the Meteor universal project.

cd $HOME
git clone --depth 1 -b release-1.2.1-universal  https://github.com/4commerce-technologies-AG/meteor.git

then

$HOME/meteor/meteor -v

At this point, you may encounter a curl execption with ca problem. This is confirmed to be a bug with the latest Debian/Raspbian, and will be fixed in time. Meanwhile, please see FAQ question #1 for a bypass / temporary fix.

Retry the above command after the curl fix.

Download the Rocket.Chat binary for Raspberry Pi
cd $HOME
mkdir rocketchat
cd rocketchat
curl https://cdn-download.rocket.chat/build/rocket.chat-pi-develop.tgz -o rocket.chat.tgz
tar zxvf rocket.chat.tgz

This will download and untar the app in $HOME/rocketchat

Alternatively, you can find the latest release here, and just download it.

Get a compatible MongoDB instance

Current available mongodb versions on Raspbian are too old for Rocket.Chat. Hopefully the situation will change shortly.

Meanwhile, you can use a MongoDB service provider on the Internet. MongoLab offers free sandbox databases that can be used with Rocket.Chat. Create a free account and database here:

https://mongolab.com/

Create a user and give it write access to the database. Note the Mongo URL, you will need it next.

Install dependencies and start Rocket.Chat
cd $HOME/rocketchat/bundle/programs/server
$HOME/meteor/dev_bundle/bin/npm install

Next,

cd $HOME/rocketchat/bundle

Type the following ALL on one single line, with spaces to separate the environment variables:

PORT=3000  ROOT_URL=http://localhost:3000   MONGO_URL=mongodb://<user>:<password>@<host>:<port>/dataurlfrommongolabs    $HOME/meteor/dev_bundle/bin/node main.js

Wait until the server fully starts. About a minute.

Access your Rocket.Chat server and create the Administrative user

Point a browser on your PC to your Raspberry Pi:

http://rasp pi host IP:3000/

Put your chat server on the Internet for global access

With your Rocket.Chat server up and running, start another shell - typically (Ctrl-Alt-F2) or (Ctl-Alt-F3).

Login, download and start ngrok (see ngrok.com if you need more information):

curl  https://dl.ngrok.com/ngrok_2.0.19_linux_arm.zip -o ngrok.zip
unzip ngrok.zip
cd ngrok
./ngrok http 3000

Now follow the instruction and give the ngrok link to your friends and family anywhere in the world.

They can access your server via the ngrok link.

HINT: if you want to use the voice and video chat features, make sure you give them the link starting with https://

Mobile messaging on phones and tablets

Ask your friends to download the Rocket.Chat mobile app on Android PlayStore or the Apple Appstore for their phone and tablets!

Add your server's ngrok link to the app, and start mobile messaging one another!

Large capacity server

Do you need to serve hundreds or even thousands of registered users? If so, see how you can setup an inexpensive high capacity Rocket.Chat server on Odroid XU4.

More fun with community contributions

RockOnPi community member @rdagger has contributed this excellent YouTube video on manual installation - just click on picture to watch:

From your phone, controll anything connected to your Pi

Try the following optional enchacements for your RocketOnPi, contributed by your friendly fellow community members:

Auto re-start Rocket.Chat if Pi Reboots or Crashes, by @elpatron68 and @j8r

Hubot

Monitor or control anything connected to your Pi, from anywhere - hubot style!, by @sing-li

Stuck? Need help?

First, check our list of Frequently Asked Questions to see if your question is already included.

If not, create an issue here: https://github.com/RocketChat/Rocket.Chat.RaspberryPi/issues/new

OR

Come join us at https://demo.rocket.chat/ to get help from friendly RockOnPi community members and Rocket.Chat dev team.

RockOnPi Community meetup 24 x 7

The RockOnPi community gathers at https://demo.rocket.chat/channel/raspberrypi - and talk Pi !!

Makers Ahoy!

Your imagination is your only limit.

Both Raspberry Pi and Rocket.Chat are open source, 100% programmable, 100% Makers-ready!

  • get the Raspberry Pi Camera into a Rocket.Chat room
  • hook up your home control project to Rocket.Chat
  • manage your fleet of drones remotely on the web via RC on Pi

Tell us about your innovative project, or find other collaborators at:

https://demo.rocket.chat/channel/raspberrypi

Support this project

Help us spread the word about this project!

Tell all your Pi and Maker friends! Show off Rocket.Chat at your next meetup!

Tweet about us, or show off Pi with Rocket.Chat on Facebook!

Order a Rocket.Chat sticker for your Mac, tablet, or Pi case!

Where to get the Raspberry Pi server

Where to get Rocket.Chat

Apps for iPhone, iPad, Android, Windows, MacOSX:

https://Rocket.Chat/

Server source code (open source MIT Licensed):

https://github.com/rocketchat/Rocket.Chat