Documentation for installation and configuration of ThingsBoard IoT Platform.

Installing ThingsBoard PE using Docker (Windows)

This guide will help you to install and start ThingsBoard Professional Edition (PE) using Docker on Windows. This guide covers standalone ThingsBoard PE installation. The container image used in this guide has embedded PostgreSQL 9.6 to simplify setup. If you are looking for a cluster installation instruction, please visit cluster setup page.


Step 1. Obtain the license key

We assume you have already chosen your subscription plan or decided to purchase a perpetual license. If not, please navigate to pricing page to select the best license option for your case and get your license. See How-to get pay-as-you-go subscription or How-to get perpetual license for more details.

Note: We will reference the license key you have obtained during this step as PUT_YOUR_LICENSE_SECRET_HERE later in this guide.

Step 2. Checkout ThingsBoard PE image on Docker Hub

Open official ThingsBoard PE Standalone Docker Hub page and proceed to checkout.


Populate basic information about yourself and click “Get Content”


Step 3. Running

Make sure your have logged in to docker hub using command line.

Windows users should use docker managed volume for ThingsBoard DataBase. Create docker volume (for ex. mytbpe-data) before executing docker run command: Open “Docker Quickstart Terminal”. Execute the following command to create docker volume:

docker volume create mytbpe-data
docker volume create mytbpe-logs

Execute the following command to run this docker directly:

docker run -it -p 9090:9090 -p 1883:1883 -p 5683:5683/udp -v mytbpe-data:/data -v mytbpe-logs:/var/log/thingsboard -e "TB_LICENSE_SECRET=PUT_YOUR_LICENSE_SECRET_HERE" --name mytbpe --restart always store/thingsboard/tb-pe:2.4.3PE


In order to get access to necessary resources from external IP/Host on Windows machine, please execute the following commands:

VBoxManage controlvm "default" natpf1 "tcp-port9090,tcp,,9090,,9090"  
VBoxManage controlvm "default" natpf1 "tcp-port1883,tcp,,1883,,1883"
VBoxManage controlvm "default" natpf1 "tcp-port5683,tcp,,5683,,5683"

After executing this command you can open http://{your-host-ip}:9090 in you browser (for ex. http://localhost:9090). You should see ThingsBoard login page. Use the following default credentials:

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

Detaching, stop and start commands

You can detach from session terminal with Ctrl-p Ctrl-q - the container will keep running in the background.

To reattach to the terminal (to see ThingsBoard logs) run:

$ docker attach mytbpe

To stop the container:

$ docker stop mytbpe

To start the container:

$ docker start mytbpe


DNS issues

Note If you observe errors related to DNS issues, for example cannot unmarshal DNS message

You may configure your system to use Google public DNS servers

Next steps