Install the Thinger.io IoT platform in your own host!Alvaro Luis Bustamante
Today, we are proud to announce the release of the Thinger.io IoT platform as an installable package! We have been working so hard during the last months to provide an easy to install package of the Thinger.io platform. With this release, you will be able to install the server in your own architecture, supporting almost all the features of the Thinger.io cloud features, without any limitation. Moreover, you can use the stock web console for managing your devices, or creating dashboards as always.
The IoT server is currently released as an installable package under the Ubuntu snap ecosystem, so it is ready to install by executing a single command. At this moment, it would require an Ubuntu Core or Ubuntu 16.01, or any other OS supporting snap packages, plus a MongoDB instance. Learn more about the snap technology in Snapcraft.io. We are working also in creating a ready to use Docker container so it can be deployed easily in other systems not supporting snaps.
The released server is practically the same as the one deployed in the cloud, except it does not support some cloud services like AWS S3, AWS DynamoDB, or AWS SES used for scaling the platform in the cloud. This simplifies the install requirements and its portability, as it only depends on a MongoDB server that can be deployed locally, which is available for almost any platform. There are packages for x64 and armhf, so it should be compatible both for standard servers/desktops, or small computers like the Rpi.
We have done some documentation of the install process in our docs page. Check it out here! and let us know what you are building with Thinger.io!
If you are curious about the process of building a snap, we are using a BIG server with two Xeon E5 2650 v4 that compiles the server core for different platforms and deploy the result to the Ubuntu Store. Compiling the server in a Rpi would take several hours to complete, generating multiple errors due to memory constraints. In this case, we are using Docker instances that runs armhf versions of Ubuntu by running them under Qemu. For the snapping process it is used Snapcraft with a Cmake plugin. This setup provides a great flexibility for compiling to different platforms (even aarch64, or ppc64le), fetching the latest version of the server from a Git repository. Now the compiling time has been reduced to 5 minutes for ARM and 1 minute for x64! Here is a small video of the automated building: