2、ThingsBoard安装与部署:环境要求、Docker部署方式、本地安装方式、首次启动与登录
ThingsBoard 支持多种部署方式,以适应从开发测试到生产集群的不同场景。本章将详细讲解安装前的环境要求、最推荐的 Docker 部署方式、传统的本地安装方式,以及首次启动后的登录与初始配置。
2.1 环境要求
在开始安装前,请确保目标服务器满足以下最低配置要求。生产环境建议根据设备接入量和数据频率进行适当扩容。
| 资源项 | 最低要求(开发/测试) | 推荐配置(生产环境) |
|---|---|---|
| 操作系统 | Ubuntu 20.04 / CentOS 7+ | Ubuntu 22.04 LTS |
| CPU | 2 核 | 4 核及以上 |
| 内存 | 4 GB | 8 GB 及以上 |
| 磁盘 | 20 GB(SSD 优先) | 50 GB+(SSD) |
| Java | OpenJDK 11 | OpenJDK 17 |
| 数据库 | PostgreSQL 12+(内置) | PostgreSQL 15+(独立部署) |
| 消息队列 | 内置内存队列 | Kafka 3.x(高吞吐场景) |
提示: ThingsBoard 官方强烈推荐使用 Docker 部署方式,因为它能自动处理依赖关系(Java、数据库、队列等),大幅降低环境配置的复杂度。
2.2 Docker 部署方式(推荐)
Docker 部署是启动 ThingsBoard 最快、最标准的方式。以下步骤基于 Docker Compose,适用于单机快速部署。
2.2.1 安装 Docker 与 Docker Compose
如果服务器尚未安装 Docker,请先执行以下命令安装:
# 安装 Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# 安装 Docker Compose 插件(或独立二进制)
sudo apt-get install docker-compose-plugin -y
# 验证安装
docker --version
docker compose version
2.2.2 使用官方 Docker Compose 文件启动
ThingsBoard 官方提供了预配置的 docker-compose.yml 文件,包含 ThingsBoard 服务、PostgreSQL 数据库和可选的消息队列。
# 创建部署目录
mkdir -p ~/thingsboard && cd ~/thingsboard
# 下载官方 Docker Compose 文件(使用 PostgreSQL + 内置队列)
wget https://raw.githubusercontent.com/thingsboard/thingsboard/master/docker/docker-compose.yml
# 下载环境变量配置文件
wget https://raw.githubusercontent.com/thingsboard/thingsboard/master/docker/.env
# 启动所有服务(后台运行)
docker compose up -d
# 查看启动日志
docker compose logs -f tb
启动过程需要几分钟,等待日志中出现 ThingsBoard started successfully 字样即表示部署完成。
2.2.3 Docker 部署架构示意
下图展示了 Docker 部署模式下各容器的逻辑关系:
2.3 本地安装方式
对于无法使用 Docker 的环境(如某些内网服务器或 ARM 架构设备),可以选择本地安装方式。以下以 Ubuntu 20.04/22.04 为例。
2.3.1 安装依赖
# 更新软件源
sudo apt update
# 安装 Java 17 (OpenJDK)
sudo apt install openjdk-17-jdk -y
# 安装 PostgreSQL
sudo apt install postgresql postgresql-contrib -y
# 启动 PostgreSQL 并设置开机自启
sudo systemctl start postgresql
sudo systemctl enable postgresql
2.3.2 创建数据库
# 切换到 postgres 用户
sudo -u postgres psql
# 创建数据库和用户(在 psql 中执行)
CREATE DATABASE thingsboard;
CREATE USER tbuser WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE thingsboard TO tbuser;
\q
2.3.3 下载并安装 ThingsBoard
# 下载最新版安装包(以 3.6.x 为例)
wget https://github.com/thingsboard/thingsboard/releases/download/v3.6.0/thingsboard-3.6.0.deb
# 安装
sudo dpkg -i thingsboard-3.6.0.deb
# 配置数据库连接
sudo nano /etc/thingsboard/conf/thingsboard.yml
# 修改以下内容:
# datasource:
# url: jdbc:postgresql://localhost:5432/thingsboard
# username: tbuser
# password: your_password
2.3.4 初始化数据库并启动
# 运行数据库初始化脚本
sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo
# 启动 ThingsBoard 服务
sudo systemctl start thingsboard
sudo systemctl enable thingsboard
# 查看服务状态
sudo systemctl status thingsboard
注意: 本地安装方式需要手动管理 Java 版本、数据库连接和系统服务。如果遇到启动失败,请检查
/var/log/thingsboard/ 目录下的日志文件,常见问题包括数据库连接失败或端口被占用。
2.4 首次启动与登录
无论使用哪种部署方式,启动成功后,通过浏览器访问 ThingsBoard 的 Web 界面进行首次登录。
2.4.1 访问地址
| 部署方式 | 访问地址 |
|---|---|
| Docker 部署(本机) | http://localhost:8080 |
| Docker 部署(远程) | http://服务器IP:8080 |
| 本地安装(本机) | http://localhost:9090 |
| 本地安装(远程) | http://服务器IP:9090 |
2.4.2 默认系统管理员账号
ThingsBoard 安装完成后,默认提供以下系统管理员账号:
- 用户名:
sysadmin@thingsboard.org - 密码:
sysadmin
2.4.3 首次登录流程
- 在浏览器中输入访问地址,打开 ThingsBoard 登录页面。
- 输入默认管理员账号和密码,点击 Sign In。
- 系统会提示修改默认密码,请设置一个强密码并牢记。
- 登录成功后,进入系统仪表盘主页,可以看到系统概览、设备统计、告警信息等默认组件。
2.4.4 登录后界面概览
2.5 部署方式对比总结
下表对比了两种部署方式的核心差异,帮助您根据实际场景做出选择:
| 对比维度 | Docker 部署 | 本地安装 |
|---|---|---|
| 部署速度 | 极快(5-10 分钟) | 较慢(30-60 分钟) |
| 依赖管理 | 自动处理 | 手动安装 Java、数据库等 |
| 升级维护 | 拉取新镜像,重启容器 | 下载新包,手动升级 |
| 资源占用 | 略高(容器层开销) | 较低(原生进程) |
| 适用场景 | 开发测试、快速验证、标准生产 | 受限环境、ARM 设备、定制化部署 |
核心要点: 对于大多数用户,Docker 部署是首选方案。它屏蔽了底层环境的复杂性,让您能够快速聚焦于 ThingsBoard 的功能使用和设备接入。本地安装更适合有特殊环境限制或需要深度定制系统配置的场景。