2. ThingsBoard 安装与部署:Docker 方式快速安装、本地安装(Windows/Linux)、初始配置与管理员登录

ThingsBoard 支持多种部署方式,本章聚焦于最常用的 Docker 快速部署 与 本地安装(Windows/Linux) 两种路径。无论采用哪种方式,最终目标都是获得一个可访问的 ThingsBoard 实例,并完成初始配置与管理员登录。

2.1 部署方式对比

在选择部署方式前,先了解不同方案的适用场景与资源需求:

部署方式 适用场景 资源要求 复杂度 推荐指数
Docker 部署 开发测试、快速原型、生产环境(需编排) 低(2 核 4GB 起) 低 ⭐⭐⭐⭐⭐
Linux 本地安装 生产环境、定制化部署 中(4 核 8GB 起) 中 ⭐⭐⭐⭐
Windows 本地安装 个人学习、单机演示 高(需安装 Java 环境) 高 ⭐⭐
建议: 本课程后续所有操作均基于 Docker 部署的 ThingsBoard 3.6.x 版本。如果你仅用于学习,Docker 是最省心的选择。

2.2 Docker 方式快速安装(推荐)

Docker 部署 ThingsBoard 的核心是使用官方提供的 docker-compose.yml 文件,一键拉起所有服务组件。

2.2.1 前提条件

  • 已安装 Docker Engine 20.10+ 与 Docker Compose v2+。
  • 主机内存 ≥ 4GB,磁盘 ≥ 20GB。
  • 开放端口:8080(Web UI)、1883(MQTT)、5683(CoAP)。

2.2.2 安装步骤

  1. 创建目录并下载 compose 文件
    mkdir -p ~/thingsboard && cd ~/thingsboard
    wget https://raw.githubusercontent.com/thingsboard/thingsboard/release-3.6/docker/docker-compose.yml
  2. 启动服务
    docker compose up -d
    首次启动会自动拉取 thingsboard/tb-postgres 镜像(约 1.2GB),并初始化数据库。
  3. 验证启动状态
    docker compose logs -f tb-core
    看到 Started ThingsBoard Server in ... seconds 表示启动成功。
  4. 访问 Web UI
    浏览器打开 http://localhost:8080,进入登录页面。
关键组件说明: Docker 部署包含 tb-core(主服务)、tb-postgres(数据库)、tb-queue(消息队列)三个容器。生产环境建议替换为 PostgreSQL + Kafka 的高可用方案。

2.3 本地安装(Linux / Windows)

当无法使用 Docker 时,可选择本地安装。以下以 Ubuntu 22.04 为例,Windows 步骤类似但需手动配置 Java 环境变量。

2.3.1 Linux 本地安装步骤

  1. 安装 Java 11(OpenJDK)
    sudo apt update && sudo apt install openjdk-11-jdk -y
    java -version  # 确认版本为 11.x
  2. 下载 ThingsBoard 安装包
    wget https://github.com/thingsboard/thingsboard/releases/download/v3.6.0/thingsboard-3.6.0.deb
    sudo dpkg -i thingsboard-3.6.0.deb
  3. 配置数据库(默认使用 PostgreSQL)
    编辑 /etc/thingsboard/conf/thingsboard.yml,修改数据库连接信息:
    # 找到 datasource 部分
    datasource:
      url: jdbc:postgresql://localhost:5432/thingsboard
      username: tb_user
      password: tb_password
  4. 初始化数据库并启动
    sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo
    sudo systemctl start thingsboard
    sudo systemctl enable thingsboard
  5. 验证服务
    sudo systemctl status thingsboard
    curl http://localhost:8080/api/noauth/health
    返回 {"status":"UP"} 表示服务正常。
Windows 注意事项: ThingsBoard 官方不提供 Windows 安装包,需通过 thingsboard.exe 或源码编译。建议使用 WSL2(Windows Subsystem for Linux)运行 Linux 版本,或直接使用 Docker Desktop。

2.4 初始配置与管理员登录

部署完成后,需要进行首次登录并修改默认密码,确保系统安全。

2.4.1 默认管理员账户

角色 用户名 默认密码
系统管理员 sysadmin@thingsboard.org sysadmin
租户管理员 tenant@thingsboard.org tenant
客户用户 customer@thingsboard.org customer

2.4.2 登录与安全配置

  1. 打开浏览器访问 http://localhost:8080。
  2. 使用 sysadmin@thingsboard.org / sysadmin 登录。
  3. 系统强制要求修改密码,输入新密码(建议 12 位以上,包含大小写字母与数字)。
  4. 进入主界面后,依次点击 系统设置 → 安全设置,开启 两步验证(2FA) 以增强安全性。
首次登录建议: 立即修改密码并绑定邮箱,避免因默认密码泄露导致系统被入侵。生产环境还应配置 HTTPS 证书。

2.5 部署架构概览

下图展示了 ThingsBoard 部署后的核心组件与通信关系,帮助你理解各服务模块的职责:

ThingsBoard 部署架构图 ThingsBoard 部署核心组件架构 MQTT 设备 CoAP 设备 HTTP 设备 传输适配器 (MQTT/CoAP/HTTP) ThingsBoard 核心 (规则引擎/设备管理) PostgreSQL (实体/遥测/属性) Web UI (仪表板/配置) 说明 • 设备通过传输适配器接入 • 核心服务处理规则与存储

2.6 验证部署成功

完成安装后,执行以下检查清单确认系统正常运行:

  • Web UI 可访问: 浏览器打开 http://localhost:8080 显示登录页面。
  • API 健康检查: curl http://localhost:8080/api/noauth/health 返回 UP。
  • MQTT 端口监听: netstat -tulpn | grep 1883 显示 LISTEN 状态。
  • 数据库连接: 使用 psql -h localhost -U tb_user -d thingsboard 可查询设备表。
常见问题: 如果 8080 端口被占用,可在 docker-compose.yml 中修改端口映射,例如 "8081:8080"。本地安装则修改 thingsboard.yml 中的 server.port 配置项。