ThingsBoard Documentation

Documentation for using ThingsBoard IoT Platform.

How to contribute your device integration guide

Introduction to

Our website is open-sourced. You may find the code of in this repo. Everyone can contribute to the website. The flow is as follows…

What is fork

If you are not familiar with GitHub, please read their documentation or ask a colleague who has an expertise before you proceed. If you have enough knowledge then go through further steps. Ensure that you already have a GitHub account, and you successfully logged in.

Whe-e! Starting now you have a copy of our website in your private GitHub repository.

Local deployment of ThingsBoard documentation repo (website)

Now you can launch the website on your local machine to see the up-to-date version. uses jekyll site generator. So, in order to run the website on localhost you need a jekyll server installed.

The below commands set up your environment for running GitHub pages locally. Any edits you make will be viewable on a lightweight webserver that runs on your local machine.

Install Ruby 2.2 or higher. If you’re on Ubuntu 20.04.1 LTS, run these commands:

sudo apt-get install software-properties-common
sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get install make ruby ruby-dev libffi-dev g++ zlib1g-dev
sudo gem install github-pages
sudo gem install jekyll bundler

Clone our site:

git clone

Make any changes you want. Then, to see your changes locally:

bundle install
bundle exec jekyll serve --host

In case you change the layout or website structure you might need to execute following command:

rm -rf _site .jekyll-metadata && bundle exec jekyll serve --host

or execute the below script from the project root directory:


Your copy of the site will then be viewable at: http://localhost:4000 (or wherever Jekyll tells you).

Integration guide pattern

Use this Sample as a base for your guide. This page is located in a path “/docs/samples/sample/”

Once you open the .md file perform further necessary steps


"YOUR_INTEGRATION_NAME" - Name of your integration guide
"YOUR_LOGO.png" - Your company/integration logo file from [Step 5]
"" - Site of your company/integration.
"/docs/samples/PATH_TO_YOUR_GUIDE-FILE_FROM_STEP_3/GUIDE-FILE/" - Full path with file name from Repository root.

Push changes & create Pull Request

Optional steps

You may notify us about your Pull Request (with Pull Request #) via Contact us form or in any other way.