On-Premise
Subscribing and Deploying On-premise Instances
Thinger.io IoT instances can be deployed on-premise or on any kind of cloud or local host, providing users with full control over the entire infrastructure. This license is particularly well-suited for enterprises that need to host their own data. This section outlines the process of obtaining an on-premise license and deploying a private Thinger.io on-premise instance within minutes.
1. Select the right license
On-premise instances can be deployed with different licenses, depending on the project requirements, mainly in terms of platform features like rebrands, custom domains, additional support, plugins, etc. License codes can be purchased here.
Features | MEDIUM | LARGE | PERPETUAL |
---|---|---|---|
Devices | 1000 | 2500 | Unlimited |
Plugins | 3 | 5 | 5 |
Multi-tenant | Up to 5 | Up to 15 | Single |
Extended Features | Business | Business | Business |
White-labels | 1 | 5 | 1 |
MQTT Support | ✓ | ✓ | ✓ |
Guest accounts | Unlimited | Unlimited | Unlimited |
Support | Extended Support Available (Paid) | Extended Support Available (Paid) | Extended Support Available (Paid) |
Recommended use | Business B2B or B2B2C IoT product | Consultancies with multiple projects | Companies without limits |
2. Checkout and payment options
After payment is processed, you will receive an email with the link to set up begin the installation process and your license token.
3. On-premise install
Once you have received the license token by email, it is possible to easily deploy Thinger.io on your host with a few commands. Before starting this guide, please, install Docker Engine and Docker Compose in your computer or server.
Install Docker Engine and Docker Compose before following this guide.
This guide assumes you are installing Thinger.io on a fresh Linux host with Docker support, as it will run databases like MongoDB
and InfluxDB
, and will start listening on several ports: 80
, 443
, 1883
,8883
, 25200
, 25202
, 25204
and 25206
. It will also create a root directory in /data
where all the Thinger.io data and database information will be stored.
To start, just launch the following command that will download the docker-compose
file associated to your license:
Never share or publish your LICENSE key as it may consist of a security risk for your host. License keys are issued per host, so do not reuse them between hosts.
Ensure that your docker-compose
file has been downloaded correctly:
It should display something like the following:
Then, if everything seems to be correct, just run the following command to start all the processes defined in docker-compose.yml
and run them in detached mode with -d
option:
If everything goes fine, it should show something like the following information (it may take several minutes to complete depending on your network connection):
Then, the Thinger.io instance and the associated databases will be running:
Then, you can access your on-premise instance by pointing your browser to your host IP address.
The latest versions of Ubuntu come with UFW
(the default firewall configuration tool for Ubuntu). It may be blocking Thinger.io ports by default. Configure it properly or disable it (not recommended) with sudo ufw disable
Steps After On-premise Deployment
To start working with your on-premise installation, just follow the next steps:
First Login
Access the server by writing the local IP address of your host, for example: https://192.168.1.100. This step should show the Thinger.io login screen after accepting to use a self-signed certificate (the browser will ask you about a security issue with the certificate).
Note that this server has never been accessed before, and it is a completely isolated instance so there is not any user account created. Then, it is necessary to click on
Create an account
button, and fill the form to create a new user profile using theAdmin Email
address provided in the license configuration (any other address will not be authorized to sign up).After creating the new account it is possible to access the new server. It is not necessary to confirm the mail address.
Device Connection
When working with a private Thinger.io instance, it is necessary to point your devices to the newly created server. If you are using the Arduino or Linux client libraries, i.e., for Arduino, ESP8266, ESP32, Raspberry Pi, etc., you should add a definition on top of your code to point to your host. So, modify your sketch like this:
If this host definition is not provided, your devices will try to connect with the public instance.
Last updated