本地部署

准备条件

ThingsBoard 服务在 Java 11 上运行。您可以使用以下命令检查安装情况:

java -version

截屏2023-12-01 10.27.43.png

源码下载

源码地址:https://github.com/thingsboard/thingsboard.git

git clone https://github.com/thingsboard/thingsboard.git

在源码根目录找到pom.xml,查找license-maven-plugin,如下图,注释掉整个plugin。

截屏2023-12-01 10.34.22.png

编译

cd thingsboard
mvn clean install -DskipTests

!!! warning "注意!!!有时因为各种奇怪原因导致编译失败,这时可以删除本地的maven仓库重新下载依赖"

项目运行

修改thingsboard.yml中数据库相关配置,替换用户名密码。

截屏2023-12-01 10.39.16.png

dao模块下,sql文件拷贝至application模块data/sql目录中

截屏2023-12-01 10.46.59.png

运行 ThingsboardInstallApplication,完成thingsboard表结构和数据的初始化。默认情况下,使用系统管理员sysadmin@thingsboard.orgsysadmin进行登录 。当然,初始化用户可以在配置文件中自定义。

截屏2023-12-01 10.46.16.png

接着运行ThingsboardServerApplication,访问http://localhost:8080/ 自动跳转至登录页面

截屏2023-12-01 10.49.11.png

Linux 部署

安装Java 11

sudo apt update
sudo apt install openjdk-11-jdk

ThingsBoard服务安装

下载安装包。

wget https://github.com/thingsboard/thingsboard/releases/download/v3.6.1/thingsboard-3.6.1.deb

或者将编译好的二进制文件上传至 Linux

scp /Users/bijw/devel/thingsboard/application/target/thingsboard.deb pi@linux ip:

ThingsBoard 安装为服务

sudo dpkg -i thingsboard.deb

配置 ThingsBoard 数据库

PostgreSQL 安装

# install **wget** if not already installed:
sudo apt install -y wget

# import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

# add repository contents to your system:
echo "deb https://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee  /etc/apt/sources.list.d/pgdg.list

# install and launch the postgresql service:
sudo apt update
sudo apt -y install postgresql-15
sudo service postgresql start

ThingsBoard 配置

编辑 ThingsBoard 配置文件

sudo nano /etc/thingsboard/conf/thingsboard.conf

将以下行添加到配置文件中。不要忘记将PUT_YOUR_POSTGRESQL_PASSWORD_HERE替换为您真实的 postgres 用户密码:

# DB Configuration 
export DATABASE_TS_TYPE=sql
export SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/thingsboard
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=PUT_YOUR_POSTGRESQL_PASSWORD_HERE
# Specify partitioning size for timestamp key-value storage. Allowed values: DAYS, MONTHS, YEARS, INDEFINITE.
export SQL_POSTGRES_TS_KV_PARTITIONING=MONTHS

截屏2023-12-01 11.34.58.png

运行安装脚本

安装 ThingsBoard 服务并更新数据库配置后,您可以执行以下脚本:

sudo /usr/share/thingsboard/bin/install/install.sh

启动 ThingsBoard 服务

sudo service thingsboard start

截屏2023-12-01 11.37.24.png

常见问题FAQ

!!! question "如何查看 thingsboard 运行日志?"

tail -f /var/log/thingsboard/thingsboard.log

!!! question "关于如何停止或卸载thingsboard服务"

查看运行的所有服务

systemctl list-units --all --type=service

停止服务

systemctl service stop thingsboard

如果您想删除软件包本身(不带配置文件),则必须运行:

dpkg -r thingsboard

如果您想完全删除(清除)软件包(带有配置文件),则必须运行:

dpkg -P thingsboard

您可以检查包是否已成功删除 - 只需运行:

dpkg -l '*thingsboard*'