Skip to content

A Rocket.Chat server hosted on a Raspberry Pi available only to those on a local WiFi hosted on the Raspberry Pi. No need for an internet connection.

License

Notifications You must be signed in to change notification settings

ruberVulpes/ProtestPi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Protest Pi Logo

ProtestPi

A Rocket.Chat server hosted on a Raspberry Pi available only to those on a local WiFi hosted on the Raspberry Pi. No need for an internet connection.



Motivation

The motivation behind this project was to provide people at protests or other civil unrest activities a way to locally communicate with another using their smartphones or other WiFi capable devices without needing to be connected to the internet. This can provide peace of mind for communication or serve as a workaround where the local internet is down or disrupted.

There is additional motivation to make the setup of this project as easy to install and run for anyone. This is meant to serve as a way to provide access to non-technical people from utilizing this project.

Support Me

Contact Me

Do not hesitate to open an issue on this repo or shoot me an email to the account listed under my GitHub profile.

Prerequisites

  • A Raspberry Pi model with built in WiFi
    • I used a Raspberry Pi 4 for developing and testing this guide
  • A Micro SD card with the RaspberryPi OS loaded
    • This guide could also likely work with other flavors as well, they're just not tested
  • A power source for the Raspberry Pi
    • Wall plug or battery
  • A host machine to set up the Raspberry Pi remotely or a keyboard/mouse and a display for the Raspberry Pi to set it up locally

Installation

  1. Connect to your Raspberry Pi
  2. Package Manager Update and Upgrade
    • sudo apt update -y && sudo apt upgrade -y
  3. Reboot the Raspberry Pi
    • sudo shutdown -r now
    • If you don't reboot now your network setup will fail
  4. Clone this Repository
    • git clone https://github.com/ruberVulpes/ProtestPi.git
  5. Navigate to the source directory
    • cd ProtestPi
  6. Start the installation script
    • sudo sh install.sh -p <Password for the WiFi network>
      • Make the password something secure but easy to communicate
        • The password should be between 8 and 64 characters in length
    • You can use the -s flag to customize the SSID of the network
      • This is optional and will default to PiBroadcast
    • You can use the -l flag to change the Country Code for the network
      • This is optional and will default to US
  7. Reboot the Raspberry Pi
    • sudo shutdown -r now
  8. Done!
    • The Rocket.Chat server and WiFi will now start everytime the Raspberry Pi is powered on
      • The Rocket.Chat server may take a minute to be usable after startup

You should now be able to connect a WiFi device to your Raspberry Pi's wireless access point. Once connected navigate to http://192.168.4.1:3000 to get to the Rocket.Chat server. From here anyone with access should be able to register accounts, dummy values can be used for the email addresses. The first User registered will serve as the server Admin.

Rocket Chat Login Example

Installation Script Details

The installation script automates the installation of Rocket.Chat and setting up the local WiFi network following the guides below. The script is also idempotent and should be able to be run multiple times without breaking.

Future Work

  • Domain name for the Rocket.Chat instance
  • I would like to test extending the Raspberry PI's WiFi via an external Access Point connected via Ethernet
  • Testing the project with many Users would be cool to see what real world performance would be like

About

A Rocket.Chat server hosted on a Raspberry Pi available only to those on a local WiFi hosted on the Raspberry Pi. No need for an internet connection.

Topics

Resources

License

Stars

Watchers

Forks

Languages