Awesome
Run your own private Social Network on a Pi
- Raspberry Pi is the tiny $35 quad-core computer that revolutionalized affordable servers
- Rocket.Chat is the popular high performance, large capacity, open source team communications 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
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 4
<img src="https://raw.githubusercontent.com/Sing-Li/bbug/master/images/rockpismal.jpg" width="480">Learn about Rocket.Chat.
Prerequisites
- Raspberry Pi 4 or newer (4 GB or 8 GB version recommended)
- the fastest and largest capacity microSD you can get, we recommend 128GB Class 10 or higher
- Proper stable power supply for USB-C (5V 3A or more)
- Internet connection
Up and running in minutes
You can get a Rocket.Chat server and a mongoDB instance working on your Raspiberry Pi 4 Model B (either 2GB, 4GB, and 8GB) in a few minutes. Here's how:
- Prepare your SD-Card: download Ubuntu 18.04 LTS image. Make sure you use 18.04LTS and NOT 20.04LTS as
snap
on 20.04LTS currently has problem with Arm64 version of mongoDB. If you want to use Raspbian, make sure you use the 64bit image and performapt-get install snapd
to install the snap daemon before proceeding to step 2.
If you really want to use 20.04lts and are already familiar with docker technology, then follow these instructuions to install the latest Rocket.Chat on the latest ubuntu distribution. The rest of this section assumes you are using 18.04lts.
-
Log in to your Pi with the standard username "ubuntu" and password "ubuntu". If you want to log in remotely via SSH you have will have to enable SSH.
-
It is a good idea to bring the system up to date after installation. You can issue the commands
apt-get update
followed byapt-get dist-upgrade
to make sure the system is caught up with all the fixes and sub-releases. -
Perform
sudo snap install rocketchat-server
. This will take at least a couple of mintues. PLEASE BE PATIENT! I know how difficult it may be waiting for your own private social network to be birthed. BUT please wait a few minutes until everything has been completed.
That's it, your private chat server should now be LIVE!
Point a PC/Laptop browser on the same network as your Pi to http://<server ip>:3000
and\ access your Rocket.Chat server! Create the first user, which will become the server's adminsitrator. Have fun!
Read about the thousands of configuration / customization options available to you.
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://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-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.
If you connect and disconnect your Pi server from the Internet all the time (that's usually not a good idea if you are serious about operating a server), you will discover that the ngrok link changes every time you restart. A possible solution is to use one of the Dynamic DNS services.
Enable https:// support for your domain name
If you have a registered domain name and a static IP address and want to easily put your Pi on a domain, you can use either:
- use the built-in caddy server -- see all the related instructions on our snap auto SSL with Lets Encrypt and Caddy documentation
- install Nginx NGINX reverse proxy for Rocket.Chat
HINTS:
- Don't forget to configure your router to forward ports 80 and 443 to the pi
- 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!
Invite tons of friends
The power of the Pi4 as a social network server is amazing, estimated capacity:
Models | Users | Notes |
---|---|---|
Raspberry Pi 4 Model B with 2GB of RAM | 50 | you should comfortably host 50 users with moderate file share activity. Use a 128GB SD card and clean uploads once a month or so. |
Raspberry Pi 4 Model B with 4GB of RAM | 100s ( | Recommend addition of a USB3 based 1TB SSD for object storage when used for file sharing communities (ideally object storage handled off the Pi via S3 interface). |
Raspberry Pi 4 Model B with 8GB of RAM | as of June 2020, on release 3.3.3+ 2000 registered users should be possible | Recommend addition of a USB3 based 4TB SSD for object storage when used for file sharing communities (ideally object storage handled off the Pi via S3 interface). |
There are many other pocket-sized ARM servers that Rocket.Chat can run on. See for example, on how to run high capacity Rocket.Chat server on Odroid XU4.
Ubuntu 18.04 lts and 64bit Arm support
If you have a Pi 4 with 2GB, 4GB, or 8GB RAM and want a more robust and common server setup. Download the 64bit Arm version of the operating system from this page.
Then you can install the 64bit server using snap
, or docker
. Explore this repository for docker deployment information on arm64.
Successful Installation on Rpi 3B+
(May work on RPi 2 as well : test needed)
Running snap or manual install of Rocket.Chat under a Raspian ArmH or Ubuntu server 18.04 AmrH cause dependencies issues and does not succeed (2020 April,1st).
Snap installation do work under Ubuntu server 18.04 64ARM (without the "H").
You can have access to the port 3000 once it is open in your firewall sudo ufw allow 3000
More fun with community contributions
RockOnPi community member @rdagger has contributed this excellent YouTube video on manual installation - just click on picture to watch:
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
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://open.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://open.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://open.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
- Raspberry Pi 4 Model B with 2GB RAM at MicroCenter
- Raspberry Pi 4 Model B with 4GB RAM at MicroCenter
- Raspberry Pi 4 Model B with 2GB RAM at Newark
- Raspberry Pi 4 Model B with 4GB RAM at Newark
Where to get Rocket.Chat
Apps for iPhone, iPad, Android, Windows, MacOSX:
Server source code (open source MIT Licensed):