Tigase on Raspberry Pi
Tigase XMPP Server is a Java-based XMPP communications software. Because Java is nearly ubiquitous, and not platform specific, the hardware that Tigase can run on is wide and varied. However, when you think of communication servers, the first thing that springs to mind is server racks in a data center, or perhaps a secondhand computer running in a closet. What may not spring to mind is a small credit card sized computer sitting in your back pocket.
The Raspberry pi is a series of small computers featuring an ARM CPU, on chip GPU, and either wireless or Ethernet capability. They all feature all components on a single PCB which has a footprint of roughly 20 centimeters squared. Not only are these small sized, their power requirements are small too, only about 5.5v at 800mA. If those numbers sound familiar, it should, most cell phone chargers operate at the same voltages. So, take a charging battery pack, a USB cable, and the Pi, you now have a computer on the go.
A lightweight linux distribution was setup to auto-run Tigase, and connected to a local wi-fi network, the mobile server had been born. Fortunately I was able to find a battery that could charge and discharge at the same time, no need to shut down to plug into the wall. This server I kept in continuous use for 2 months to see how well this compared to running on server machine, and I’m pleased to report that a Raspberry Pi 3 handled this server brilliantly. To handle mobile, a cellphone hotspot provided internet connectivity, and a dynamic DNS to handle the change from IP to IP. During this change, clients were able to reconnect with all carbons properly delivered and showing minimal disruption.
While this may not be ideal for a large scale real time communication server, it was clear that this setup is capable for a smaller scale server. It was clear that Tigase XMPP Server can be run on a small computer and carried with you. Who would have thought you could carry an XMPP server with you on the go.