Skip to content

Cookie preferences

We use cookies for our own analytics, to see how our campaigns perform and, if you allow it, to load content from other services such as the Google site search. We never sell your data. Necessary cookies keep the site working and cannot be switched off. See our Cookie Policy for details and our Privacy Policy for how we handle personal data.

Security, load balancing and remembering your cookie choice.

Show us which pages people read, how they find the site and where they get stuck, so we can improve it (Google Analytics, Microsoft Clarity).

Show us which of our ad campaigns bring visitors to the site and remember the campaign or partner link you arrived from (Google Ads, LinkedIn, Meta, partner program). We do not use these cookies to build advertising profiles.

Load the site search from Google when you use it. Google sets its own cookies and shows ads in the search results.

© 2026 The ThingsBoard Authors
22.5k Try for free

ThingsBoard Cloud

Choose your data region

Your data stays in the region you choose, for residency and compliance. No credit card required.

Rather run it yourself? Install on your own servers

Cluster setup using OpenShift

This guide walks you through setting up ThingsBoard Community Edition in cluster mode using OpenShift with microservices architecture.

For a simpler single-node installation, see Docker (Linux, macOS).

ThingsBoard microservices run on a Kubernetes cluster. To deploy an OpenShift cluster locally you need Docker CE and OpenShift Origin. Follow these instructions to install all required software.

By default, you can log in as the developer user:

Terminal window
oc login -u developer -p developer

On first start-up, create the thingsboard project:

Terminal window
oc new-project thingsboard

Step 1. Clone ThingsBoard CE Kubernetes scripts

Section titled “Step 1. Clone ThingsBoard CE Kubernetes scripts”
Terminal window
git clone -b release-4.3.1.6 https://github.com/thingsboard/thingsboard-ce-k8s.git --depth 1
cd thingsboard-ce-k8s/openshift

Edit the .env file to set the database type:

Terminal window
nano .env

Set the DATABASE variable to one of:

Value Description
postgres Use PostgreSQL for all data
hybrid Use PostgreSQL for entities and Cassandra for time-series data
  1. Run the installation script:

    Terminal window
    ./k8s-install-tb.sh --loadDemo

    The --loadDemo flag loads sample tenant account, dashboards, and devices for evaluation and testing.

  2. Deploy third-party resources:

    Terminal window
    ./k8s-deploy-thirdparty.sh

    Type yes when prompted if you are running ThingsBoard in high-availability deployment type for the first time or don’t have a configured Redis cluster.

  3. Deploy ThingsBoard resources:

    Terminal window
    ./k8s-deploy-resources.sh

To find your ThingsBoard application URL, log in as the developer user (default password: developer), open the thingsboard project, then navigate to Application → Routes. The root route should look like https://tb-route-node-root-thingsboard.127.0.0.1.nip.io/.

You should see the ThingsBoard login page. Use the following default credentials:

You can change passwords for each account in the account profile page.

See Getting Started for your next steps after login.

List running ThingsBoard node pods:

Terminal window
oc get pods -l app=tb-node

Stream logs of a specific pod:

Terminal window
oc logs -f TB_NODE_POD_NAME

Replace TB_NODE_POD_NAME with the pod name from the list above.

Other useful commands:

Command Description
oc get pods List all pods
oc get services List all services
oc get deployments List all deployments

See the oc Cheat Sheet for more commands.

Delete ThingsBoard microservices:

Terminal window
./k8s-delete-resources.sh

Delete third-party services:

Terminal window
./k8s-delete-thirdparty.sh

Delete all resources including database:

Terminal window
./k8s-delete-all.sh

Pull the latest changes from the repository:

Terminal window
git pull origin master

Then run the upgrade:

Terminal window
./k8s-delete-resources.sh
./k8s-upgrade-tb.sh
./k8s-deploy-resources.sh
  1. Upgrade to the latest CE version.

  2. Stop ThingsBoard resources:

    Terminal window
    ./k8s-delete-resources.sh
  3. Merge your configuration with the latest PE OpenShift scripts. Configure the license key as described in the PE OpenShift guide.

  4. Run the migration script:

    Terminal window
    ./k8s-upgrade-tb.sh --fromVersion=CE
  5. Deploy ThingsBoard resources:

    Terminal window
    ./k8s-deploy-resources.sh