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 部署模式下各容器的逻辑关系:

ThingsBoard Docker 部署架构图 ThingsBoard Docker 部署架构 MQTT 设备 HTTP 客户端 Docker 主机 ThingsBoard 核心服务 (tb) PostgreSQL 数据库 (postgres) 消息队列 Kafka / 内置队列 端口映射 8080 → 9090 (HTTP) 端口映射 1883 → 1883 (MQTT)

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 首次登录流程

  1. 在浏览器中输入访问地址,打开 ThingsBoard 登录页面。
  2. 输入默认管理员账号和密码,点击 Sign In。
  3. 系统会提示修改默认密码,请设置一个强密码并牢记。
  4. 登录成功后,进入系统仪表盘主页,可以看到系统概览、设备统计、告警信息等默认组件。

2.4.4 登录后界面概览

ThingsBoard 首次登录界面布局 ThingsBoard 首次登录界面布局 顶部导航栏:系统设置 / 租户管理 / 用户管理 / 帮助 左侧菜单 仪表盘 设备 资产 告警 规则链 租户管理 主内容区域 系统概览仪表盘 设备接入统计 / 告警数量 / 消息吞吐量 最近活跃设备列表 系统健康状态 底部状态栏:系统版本 / 数据库连接状态 / 消息队列状态

2.5 部署方式对比总结

下表对比了两种部署方式的核心差异,帮助您根据实际场景做出选择:

对比维度 Docker 部署 本地安装
部署速度 极快(5-10 分钟) 较慢(30-60 分钟)
依赖管理 自动处理 手动安装 Java、数据库等
升级维护 拉取新镜像,重启容器 下载新包,手动升级
资源占用 略高(容器层开销) 较低(原生进程)
适用场景 开发测试、快速验证、标准生产 受限环境、ARM 设备、定制化部署
核心要点: 对于大多数用户,Docker 部署是首选方案。它屏蔽了底层环境的复杂性,让您能够快速聚焦于 ThingsBoard 的功能使用和设备接入。本地安装更适合有特殊环境限制或需要深度定制系统配置的场景。