首先是环境配置:
java -version
openjdk version "11.0.14" 2022-01-18 LTS
OpenJDK Runtime Environment Zulu11.54+23-CA (build 11.0.14+9-LTS)
OpenJDK 64-Bit Server VM Zulu11.54+23-CA (build 11.0.14+9-LTS, mixed mode)
没有java 11的话,这里下载安装:
https://www.azul.com/downloads/?version=java-11-lts&os=macos&package=jdk
thingsboard需要接入postgres数据库,数据库的默认配置在这里:
·
其默认的postgres配置:
数据库url:localhost:5432/thingsboard
用户名:postgres
密码:postgres
因此需要配置一个postgres的数据库服务:
1、拉取镜像文件
docker pull postgres
2、容器后台进程运行,向外暴露5432端口
docker run --name mypostgres -e POSTGRES_PASSWORD=postgres -d -p 5432:5432 postgres
运行成功后默认数据库登录名、密码皆为postgres,同默认配置一致了。
接着装一个postgres的管理工具pgadmin4:
docker pull dpage/pgadmin4
docker run --name pgadmin -p 1443:80 -e "PGADMIN_DEFAULT_EMAIL=root@mytest.com" -e "PGADMIN_DEFAULT_PASSWORD=root" -d dpage/pgadmin4
启动成功后,访问pgadmin4管理页面,登陆名和密码为pgadmin docker启动时配置的root@mytest.com 和 root.
登陆后创建服务器
首先查下postgres在docker内网的地址:
docker inspect mypostgres
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "3199ea6670a3658cd928860f3e48e1601fbc786b53b53e2aa362e410fb70c393",
"EndpointID": "dc374db699374951cdc2b542058f0efe4997f55add5f75326127922e0eccc596",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:02",
"DriverOpts": null
}
}
然后添加数据库链接到pgadmin4
链接成功后,创建thingsboard对应的数据库,名称为thingsboard.
接下来clone代码:
git clone https://github.com/thingsboard/thingsboard.git
然后切换到最新的release分支:
针对mac编译报错做如下fix:
其中ui-ngx编译date-fns会报错,cd到ui-ngx目录下:
n stable
node -v
v16.14.0
rm -rf node_modules/
yarn -v
1.22.17
yarn install
yarn add date-fns
yarn build
编译成功后,就可以回到主目录,编译整个项目:
mvn clean install -DskipTests -X
编译完成后,thingsboard/application/target下就有了编译后的文件了:
ls
archive-tmp generated-sources thingsboard-3.3.3.jar
bin generated-test-sources thingsboard-windows.zip
classes maven-archiver thingsboard.changes
conf maven-status thingsboard.deb
control protoc-3.17.2-osx-x86_64.exe thingsboard.rpm
data test-classes tmp
debian thingsboard-3.3.3-boot.jar windows
执行如下命令就可以运行单体应用
java -jar thingsboard-3.3.3-boot.jar
不过执行之前,还要初始化数据库,切换到target的bin的install目录下:
chmod +x install_dev_db.sh
./install_dev_db.sh
执行完后会在数据库中初始化测试数据,如果是生产环境的话则将 install_dev_db.sh 换成 install.sh
运行
application/src/main/java/org/thingsboard/server/ThingsboardServerApplication.java
即可启动 Thingsboard 服务
或者直接运行打包出来的 thingsboard-3.2.2-boot.jar
:
java -jar thingsboard-3.2.2-boot.jar
启动后访问:http://127.0.0.1:8080
测试账号:
平台管理员:sysadmin@thingsboard.org sysadmin
租户管理员:tenant@thingsboard.org tenant
普通用户:customer@thingsboard.org customer