Stand with Ukraine flag
Try it now Pricing
MQTT Broker
Installation > Building from sources
Getting Started Documentation
Architecture API FAQ
On this page

Building from sources

This guide will help you to download and build TBMQ from sources. Instructions listed below are tested on Ubuntu 20.04 LTS.

Required tools

This section contains installation instructions for build tools.

Java

TBMQ is build using Java 17. Follow these instructions to install OpenJDK 17:

1
2
sudo apt update
sudo apt install openjdk-17-jdk

Please don’t forget to configure your operating system to use OpenJDK 17 by default. You can configure which version is the default using the following command:

1
sudo update-alternatives --config java

You can check the installation using the following command:

1
java -version

Expected command output is:

1
2
3
openjdk version "17.0.xx"
OpenJDK Runtime Environment (...)
OpenJDK 64-Bit Server VM (build ...)
Maven

TBMQ build requires Maven 3.6.3+.

1
sudo apt install maven

Please note that maven installation may set Java 7 as a default JVM on certain Linux machines. Use java installation instructions to fix this.

Source code

You can clone source code of the project from the official GitHub repo.

1
2
git clone -b release-1.4.0 https://github.com/thingsboard/tbmq.git
cd tbmq

Build

Run the following command from the TBMQ folder to build the project:

1
mvn clean install -DskipTests

Build local docker images

Make sure that Docker is installed.

1
mvn clean install -DskipTests -Ddockerfile.skip=false

Build artifacts

You can find debian, rpm and windows packages in the target folder:

1
cd application/target

Running tests

We are using Docker to run all kind of integration and black-box tests.

Please, manage Docker as a non-root user to run tests properly.

Main and release branches are already tested, so you can skip tests and avoid installing docker as well.

Run all unit and integration tests:

1
mvn clean install

Tips and tricks

TBMQ is quite easy to build from sources on a brand-new clear environment.

Here are some tips and tricks to boost build experience:

  • clean maven cache
    1
    
    rm -rf ~/.m2/repository
    
  • clean gradle cache
    1
    
    rm -rf ~/.gradle/caches/
    
  • clean node modules
    1
    
    rm -rf ui-ngx/node_modules
    
  • build in parallel, format headers, build docker images
    1
    
    mvn -T 0.8C license:format clean install -DskipTests -Ddockerfile.skip=false