Skip to content

在 Docker 环境下安装

Topstack 支持在 Docker + Compose 环境下安装。下面介绍操作步骤。

安装准备

需要同时安装 docker engine 和 docker compose 插件。

在线安装

步骤请参考官网说明:

安装 docker

安装 docker-compose

离线安装

下载 docker 离线安装包

执行以下命令,解压到当前目录并进行安装:

shell
tar zxvf docker-linux-x86.tar.gz
cd docker-linux-x86
chmod 777 ./install.sh
./install.sh

安装 TopStack

下载 TopStack Docker Compose 程序包

解压程序包

安装执行以下命令,解压程序包到根目录:

shell
#  解压 topstack 程序包
tar zxvf topstack.tar.gz -C /

解压完成后,会自动在根目录下生成 /topstack 目录。

离线镜像(可选)

如果服务器运行环境无法访问互联网,需要下载离线镜像,默认提供的 docker-compose.yml 配置中用到了以下 3 个镜像:

加载离线镜像

shell
docker load -i topstack-latest.tar.gz
docker load -i influxdb-1.8-alpine.tar.gz
docker load -i redis-6-alpine.tar.gz

容器配置

为方便用户快速部署,我们默认在 /topstack/docker-compose.yml 中加入了 topstack 中用到的中间件容器,包括 nats、redis、influxdb,用户可以根据自己的实际情况进行修改。

yaml
version: '3'
services:
  redis:
    restart: always
    image: redis:6.0.9
    container_name: redis
    command: redis-server --requirepass iotopo_topstack
    # ports:
    #   - "6379:6379"

  influxdb:
    restart: always
    image: influxdb:1.8-alpine
    container_name: influxdb
    privileged: true
    # ports:
    #   - 8086:8086
    #   - 8088:8088
    volumes:
      - ./influxdb:/var/lib/influxdb

  topstack:
    restart: always
    image: swr.cn-north-4.myhuaweicloud.com/iotopo/topstack:latest
    #离线镜像请改为下面的镜像名称
    #image: topstack:latest
    container_name: topstack
    ports:
      - "8000:80"
      - "1883:1883"
    depends_on:
      - nats
      - influxdb
      - redis
    volumes:
      - ./storage:/iotopo/topstack/storage
      - ./db:/iotopo/topstack/db
      # - ./nats.conf:/iotopo/topstack/nats.conf
      # - ./vtx0zULbPg.txt:/iotopo/topstack/static/vtx0zULbPg.txt:ro

启动程序

执行以下命令,启动程序:

javascript
cd /topstack
docker compose up -d

停止程序

执行以下命令,停止程序:

javascript
cd /topstack
docker compose down

验证程序

在浏览器中访问 http://<服务器 IP>:8000,默认用户名 admin 密码 admin,如果可以正常打开网页表示安装成功。

激活软件

方式一:绑定域名或IP

绑定域名或IP地址,需要修改配置文件进行授权。

步骤2 修改配置文件

编辑 config.yml 文件,修改 license 配置:

yaml
license:
  # 激活码方式
  with: code 
  # 产品序列号
  sn: ''  
  # 此处输入激活码 
  code: ''

步骤3 重启服务

重启服务使配置生效。执行以下命令重启容器:

shell
docker restart topstack

方式二:绑定机器码

绑定机器码方式只能通过授权服务器进行软件授权,

步骤1 安装授权服务器程序

执行安装前请确保 9999 端口没有被占用,并且允许外部服务器访问 9999 端口。

Linux 环境安装:

  1. 下载 license-server 程序包
  2. 将程序安装包 license-server-v1.1.2.tar.gz 上传到服务器上
  3. 依次执行以下命令:
shell
tar zxvf license-server-v1.1.2.tar.gz -C /usr/local
cd /usr/local/license-server
./install.sh
  1. 执行 /usr/local/license-server/mi,按提示输入产品序列号,将显示的机器码发给我们。
  2. 我们收到机器码后,会为您生成授权文件, 请将我们发给您的授权文件复制到 /usr/local/license-server 目录下面。

img

IMPORTANT

授权文件以产品序列号为文件名,例如:TPM50K22110315480001S.txt,文件编码为 ascii 编码。

步骤2 修改配置文件

编辑 config.yml 文件,修改 license 配置:

yaml
license:
  # 激活码方式
  with: server 
  # 产品序列号
  sn: ''  
  # 授权代理服务器的访问地址(宿主机IP:9999),如 192.168.0.240:9999
  serverAddr: '192.168.0.240:9999'

步骤3 重启服务

重启服务使配置生效。执行以下命令重启容器:

shell
docker restart topstack

软件升级

执行以下命令更新程序:

cd /iotopo
docker pull swr.cn-north-4.myhuaweicloud.com/iotopo/topstack:latest
docker compose up -d