源码安装
安装流程图
1. 系统环境安装
启动ThingsPanel之前,请先确定已经安装好以下环境:
tip
安装成功后,国内往往要配置代理
go env -w GO111MODULE=on;go env -w GOPROXY=https://goproxy.cn
- (数据库使用docker简化安装步骤)安装Docker(安装docker社区版)
- redis 6(支持高版本,支持传统部署) 安装 可参考docker安装(如果没有/home/tp/backend/redis/目录会自动创建):
docker run --name tp-redis \
-v /home/tp/backend/redis/data:/data \
-v /home/tp/backend/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v /home/tp/backend/redis/logs:/logs \
-d -p 6379:6379 redis redis-server --requirepass redis
提示:如无法下载镜像可使用registry.jihulab.com/thingspanel/docker-images/redis:6.2.7
- TimescaleDB 14(支持高版本,支持传统部署) 安装
TimescaleDB数据库搭建
- 获取数据库镜像
docker pull timescale/timescaledb:latest-pg14
提示:如无法下载镜像可使用registry.jihulab.com/thingspanel/docker-images/timescaledb:14
- 创建并运行容器 POSTGRES_DB 数据库名 POSTGRES_USER 用户名 POSTGRES_PASSWORD 密码
tip
此处如果修改了数据库名、用户名或密码请对应修改后端配置文件(./configs/conf.yml)
docker run --name timescaledb -p 5432:5432 \
-e TZ=Asia/Shanghai \
-e POSTGRES_DB=ThingsPanel \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=postgresThingsPanel \
-v /home/tp/data/dir:/var/lib/postgresql/data \
timescale/timescaledb:latest-pg14
2. GMQTT安装
GMQTT是平台接入设备消息的服务,设备消息通过GMQTT进入到平台,平台通过GMQTT发送消息给设备。
- 进入GMQTT仓库
- Star仓库
- 下载源代码,建议使用git clone下载源代码(未安装git,可直接下载仓库的zip包),注意代码分支,main为最新的开发分支.Tags列对应其他版本.
配置文件
./thingspanel-gmqtt/cmd/gmqttd/default_config.yml --系统配置
./thingspanel-gmqtt/cmd/gmqttd/thingspanel.yml --ThingsPanel插件配置
./thingspanel-gmqtt/cmd/gmqttd/default_config.yml说明:
log:
level: info # 日志级别 debug | info | warn | error
./thingspanel-gmqtt/cmd/gmqttd/thingspanel.yml说明:
db:
redis:
# redis 连接字符串
conn: 127.0.0.1:6379
# redis 数据库号
db_num: 1
# redis 密码
password: "redis"
psql:
psqladdr: "127.0.0.1"
psqlport: 5432
psqldb: ThingsPanel
psqluser: postgres
psqlpass: postgresThingsPanel
mqtt:
# root用户的密码
broker: localhost:1883
password: "root"
plugin_password: "plugin"
直接运行服务(推荐)
这里有三种方式可根据实际需要选择其中一种
直接运行
$ git clone https://github.com/ThingsPanel/thingspanel-gmqtt.git
$ cd thingspanel-gmqtt/cmd/gmqttd
$ go run . start -c default_config.yml
pm2托管(推荐)
这里建议使用pm2托管(pm2的安装需要node.js环境,安装pm2的步骤非常简单,可百度自行查找)
- git clone https://github.com/ThingsPanel/thingspanel-gmqtt.git
- cd thingspanel-gmqtt/cmd/gmqttd,在这个目录下创建gmqtt.sh
- 将go run . start -c default_config.yml写入gmqtt.sh
- chmod 777 gmqtt.sh
- pm2 start gmqtt.sh即可启动gmqtt(pm2 save后会保存进程状态(运行或停止),在系统重启后会自动恢复到保存状态)
Docker方式运行服务
$ git clone https://github.com/ThingsPanel/thingspanel-gmqtt.git
$ cd thingspanel-gmqtt
$ docker build -t gmqtt .
$ docker run -p 1883:1883 -p 8883:8883 -p 8082:8082 -p 8083:8083 -p 8084:8084 gmqtt