RocketChat/Rocket.Chat.RaspberryPi

Name: Rocket.Chat.RaspberryPi

Owner: Rocket.Chat

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

Created: 2016-01-15 03:26:27.0

Updated: 2018-05-21 17:41:51.0

Pushed: 2017-10-05 12:45:38.0

Homepage:

Size: 87

Language: Shell

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Rocket.Chat on Pi Logo

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

Picture of mobile Rocket.Chat in action

Enjoy Rocket.Chat features including:

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!

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:

 apt-get update
 apt-get upgrade
 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.

HOME
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
HOME
r rocketchat
ocketchat
 https://cdn-download.rocket.chat/build/rocket.chat-pi-develop.tgz -o rocket.chat.tgz
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
HOME/rocketchat/bundle/programs/server
E/meteor/dev_bundle/bin/npm install

Next,

HOME/rocketchat/bundle

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

=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):

  https://dl.ngrok.com/ngrok_2.0.19_linux_arm.zip -o ngrok.zip
p ngrok.zip
grok
rok 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!

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


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.