Stand with Ukraine flag
Pricing Try it now
IoT Gateway
Installation > IoT Gateway installation on CentOS/RHEL (RPM)
Getting Started Documentation

Install ThingsBoard IoT Gateway as package.

This guide will help you to install ThingsBoard IoT Gateway on CentOS or RHEL.

Prerequisites

  • Install Python version 3.7 or higher.

Step 1. Download the installation package

Download installation package.

1
wget https://github.com/thingsboard/thingsboard-gateway/releases/latest/download/python3-thingsboard-gateway.rpm

Step 2. Install the gateway using yum

Install ThingsBoard IoT Gateway as package and run it as daemon uses the following command:

1
sudo yum install -y ./python3-thingsboard-gateway.rpm

Step 3. Check gateway status

1
systemctl status thingsboard-gateway

You may notice some errors in the output. However, it is expected, since gateway is not configured to connect to ThingsBoard yet:

1
2
3
4
... python3[7563]: ''2019-12-26 09:31:15' - ERROR - mqtt_connector - 181 - Default Broker connection FAIL with error 5 not authorised!'
... python3[7563]: ''2019-12-26 09:31:15' - DEBUG - mqtt_connector - 186 - "Default Broker" was disconnected.'
... python3[7563]: ''2019-12-26 09:31:16' - DEBUG - tb_client - 78 - connecting to ThingsBoard'
... python3[7563]: ''2019-12-26 09:31:17' - DEBUG - tb_client - 78 - connecting to ThingsBoard'

Step 4. Configure the gateway

Now you can go to configuration guide to configure the gateway. In order for the changes to be saved, we need to restart the gateway.

1
systemctl restart thingsboard-gateway

Offline Build Version

The Offline Build is a special variant of the ThingsBoard Gateway package designed for installation and execution without internet access. Also, the offline build allows you to use any connector without installing dependencies in runtime. It contains all necessary dependencies bundled in advance, including:

  • A prebuilt Python virtual environment.
  • All required Python packages.
  • The application wheel (.whl).

This ensures seamless deployment in air-gapped, offline, or restricted-network environments.

Example of usage

A company runs all their infrastructure inside a private datacenter. Their ThingsBoard Gateway needs to connect to OPC-UA and MQTT sources inside the network but cannot access the internet due to strict firewall rules.

Prerequisites

The Offline Build requires the same prerequisites as the standard package installation, and also it’s important to have installed Python 3.11. If a Python version is incompatible, the installation gracefully exits with instructions for installing the correct Python version.

For installing a right Python version, you can use the following commands:

1
2
3
sudo yum install -y epel-release
sudo yum install -y https://repo.ius.io/ius-release-el$(rpm -E %{rhel}).rpm
sudo yum install -y python3.11 python3.11-venv

Installation

Step 1. Download the rpm file

Download installation package.

1
wget https://github.com/thingsboard/thingsboard-gateway/releases/latest/download/python3.11-thingsboard-gateway-offline.rpm

Step 2. Install the gateway using yum

Install ThingsBoard IoT Gateway as package and run it as daemon uses the following command:

1
sudo yum install -y ./python3.11-thingsboard-gateway-offline.rpm

Step 3. Check gateway status

1
systemctl status thingsboard-gateway

Troubleshooting

  • Wrong Python version

    The installer will show a detailed guide for installing the required version.

  • Need to remove installed ThingsBoard IoT Gateway after fixing Python

    When the required Python version is installed, remove the previously installed Gateway package using:

    1
    
    sudo rpm -e --noscripts python3-thingsboard-gateway
    

    Then, you can install the Offline Build package as described above.