ThingsBoard Community EditionをSakura VPSにインストールする方法

ThingsBoardという便利そうなIoT Platformを教えてもらったのでSakura VPSサーバーにインストールする方法を紹介します。

ThingsBoard

Sakura VPSスペック

Sakura VPSは石狩ゾーン、仮想2Coreの1GBメモリにOSはUbuntu22を選択。

UbuntuサーバーのUpdateとJAVAのインストール

インストール方法については公式サイトを参照

 https://thingsboard.io/docs/user-guide/install/ubuntu/

まずは先ほど構築したSakura VPSにSSHで接続

パッケージをUpdateしてからUpgrade

$sudo apt-get update && sudo apt-get upgrade

Java11をインストールする

$sudo apt install openjdk-11-jdk

デフォルトで OpenJDK 11 を使用するように設定

$sudo update-alternatives --config java

設定バージョンの確認

$java -version

無事にJAVA 11をインストールすることができました。

ThingsBoard Community Editionのインストール

ThingsBoard Community Editionのパッケージをwget

$wget https://github.com/thingsboard/thingsboard/releases/download/v3.6.3/thingsboard-3.6.3.deb

ThingsBoardをインストールします。

$sudo dpkg -i thingsboard-3.6.3.deb

データベースの設定(PostgreSQL)

下記のコマンドをコピペして実行します。

# install **wget** if not already installed:
sudo apt install -y wget

# import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

# add repository contents to your system:
echo "deb https://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee  /etc/apt/sources.list.d/pgdg.list

# install and launch the postgresql service:
sudo apt update
sudo apt -y install postgresql-15
sudo service postgresql start

PostgreSQLをインストールしたら、下記のように”postgres”というユーザーのパスワードを設定します。

一度、Ctrl+Dでpostgresからlogoutします。

$ psql -U postgres -d postgres -h 127.0.0.1 -W と入力した後、先ほど設定したパスワードを入力。

CREATE DATABASE thingsboard でデータベースを作成します。

ThingsBoardの設定

設定ファイルを編集

$sudo nano /etc/thingsboard/conf/thingsboard.conf

下記のコードでPostgreSQLのパスワードを先ほど作成したものに置き換えて、上記ファイルに追加します。

# DB Configuration 
export DATABASE_TS_TYPE=sql
export SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/thingsboard
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=PUT_YOUR_POSTGRESQL_PASSWORD_HERE
# Specify partitioning size for timestamp key-value storage. Allowed values: DAYS, MONTHS, YEARS, INDEFINITE.
export SQL_POSTGRES_TS_KV_PARTITIONING=MONTHS

さらに、今回はメモリーが少ない(1GB)なので、下記のコードも設定ファイルに追加します。

# Update ThingsBoard memory usage and restrict it to 256MB in /etc/thingsboard/conf/thingsboard.conf
export JAVA_OPTS="$JAVA_OPTS -Xms256M -Xmx256M"

変更を保存するには、Ctrl+xを押したあとYでEnterです。

インストールスクリプトの実行

次のコマンドでインストールスクリプトを実行します。

# --loadDemo option will load demo data: users, devices, assets, rules, widgets.
sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo

このように表示されればインストールは成功です。

ThingsBoardサービスの開始

以下のコマンドでThingsBoard Serviceを開始します。

$sudo service thingsboard start

また、sudo service thingsboard statusと入力すると動いているかどうかの確認ができます。

Sakura VPS側でポートフィルターの設定

Sakura VPSで8080のポートを開けておきます。

ブラウザからThingsBoardを確認

サーバーのIPアドレス:8080をブラウザから開きます。

このようにログイン画面が表示されます。

デフォルトでは下記のようなアカウント設定がされています。

  • System Administrator: sysadmin@thingsboard.org / sysadmin
  • Tenant Administrator: tenant@thingsboard.org / tenant
  • Customer User: customer@thingsboard.org / customer

なので、運用する場合はこれらのアカウントとパスワードは変更しておきましょう。

sysadminでログインした画面はこちらになります。

まとめ

以上、ThingsBoard Community EditionをSakura VPSにインストールする方法をご紹介しました。

あとは、SSL化や実際にMQTTを使ってデバイスからデータを受信してグラフ表示するなど、今後紹介していきます。