--- title: TB Upgrade tags: ThingsBoard image: https://i.imgur.com/EQPWlKr.png --- # TB Upgrade [toc] ## Current State ![](https://i.imgur.com/EQPWlKr.png) * GCP thingsboard-pe-1-vm up running ```bash star@thingsboard-pe-1-vm:~$ dpkg -s thingsboard | grep -i version Version: 3.2.2PE-1 ``` ## Upgrade Steps ### ==Stop== ThingsBoard ```bash star@thingsboard-pe-1-vm:~$ sudo systemctl stop thingsboard star@thingsboard-pe-1-vm:~$ sudo systemctl status thingsboard ● thingsboard.service - thingsboard Loaded: loaded (/lib/systemd/system/thingsboard.service; enabled; vendor preset: enabled) Active: inactive (dead) since Thu 2021-08-26 01:19:09 UTC; 5s ago Process: 3721 ExecStart=/usr/share/thingsboard/bin/thingsboard.jar (code=killed, signal=TERM) Main PID: 3721 (code=killed, signal=TERM) Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]: "description" : "Devices amount limitation" Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]: }, Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]: "whitelabeling" : { Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]: "value" : true, Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]: "description" : "White-labeling feature" Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]: } Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]: } Aug 26 01:19:08 thingsboard-pe-1-vm systemd[1]: Stopping thingsboard... Aug 26 01:19:09 thingsboard-pe-1-vm thingsboard.jar[3721]: Stopping ThingsBoard License Client... Aug 26 01:19:09 thingsboard-pe-1-vm systemd[1]: Stopped thingsboard. ``` ### ==Backup== Database * Check **PostgreSQL** status! It is unnecessary to stop PostgreSQL for the backup. ```bash star@thingsboard-pe-1-vm:~$ sudo systemctl status postgresql ● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Tue 2021-08-24 07:50:59 UTC; 1 day 17h ago Main PID: 1354 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 4915) CGroup: /system.slice/postgresql.service Aug 24 07:50:59 thingsboard-pe-1-vm systemd[1]: Starting PostgreSQL RDBMS... Aug 24 07:50:59 thingsboard-pe-1-vm systemd[1]: Started PostgreSQL RDBMS. ``` * To ensure **enough disk space** to place a backup of the database ```bash star@thingsboard-pe-1-vm:~$ sudo -u postgres psql -c "SELECT pg_size_pretty( pg_database_size('thingsboard') );" pg_size_pretty ---------------- 12 MB (1 row) star@thingsboard-pe-1-vm:~$ df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda1 39G 6.6G 33G 18% / ``` * If there is enough free space - make a backup ```bash star@thingsboard-pe-1-vm:~$ sudo -Hiu postgres pg_dump thingsboard > thingsboard.sql.bak star@thingsboard-pe-1-vm:~$ ls -lh total 2.6M -rw-rw-r-- 1 star star 2.6M Aug 26 01:25 thingsboard.sql.bak ``` ### ==Upgrading== to 3.3PE from 3.2.2 * ThingsBoard WebReport and PE packages download ```bash wget https://dist.thingsboard.io/thingsboard-3.3pe.deb wget https://dist.thingsboard.io/tb-web-report-3.3pe.deb ``` * ThingsBoard PE and WebReport services upgrade ```bash //Stop ThingsBoard and WebReport services sudo service thingsboard stop sudo service tb-web-report stop //Install ThingsBoard WebReport package star@thingsboard-pe-1-vm:~$ sudo dpkg -i tb-web-report-3.3pe.deb (Reading database ... 263436 files and directories currently installed.) Preparing to unpack tb-web-report-3.3pe.deb ... Unpacking tb-web-report (3.3.0PE-1) over (3.2.2PE-1) ... Setting up tb-web-report (3.3.0PE-1) ... sudo systemctl daemon-reload sudo service tb-web-report start sudo service tb-web-report status //Install ThingsBoard Package sudo dpkg -i thingsboard-3.3pe.deb (Reading database ... 263436 files and directories currently installed.) Preparing to unpack thingsboard-3.3pe.deb ... Unpacking thingsboard (3.3.0PE-1) over (3.2.2PE-1) ... Setting up thingsboard (3.3.0PE-1) ... Installing new version of config file /usr/share/thingsboard/conf/thingsboard.yml ... //Execute regular upgrade scrip star@thingsboard-pe-1-vm:~$ sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=3.2.2 ______ __ _ ____ __ /_ __/ / /_ (_) ____ ____ _ _____ / __ ) ____ ____ _ _____ ____/ / / / / __ \ / / / __ \ / __ `/ / ___/ / __ | / __ \ / __ `/ / ___/ / __ / / / / / / / / / / / / / / /_/ / (__ ) / /_/ / / /_/ // /_/ / / / / /_/ / /_/ /_/ /_/ /_/ /_/ /_/ \__, / /____/ /_____/ \____/ \__,_/ /_/ \__,_/ /____/ =================================================== :: ThingsBoard Professional Edition :: (v3.3.0PE) =================================================== Warning: Nashorn engine is planned to be removed from a future JDK release Starting ThingsBoard Upgrade from version 3.2.2 ... Upgrading ThingsBoard from version 3.2.2 to 3.3.0 ... Load Drop Partitions functions ... Functions successfully loaded! Updating schema ... Load Edge TTL functions ... Edge TTL functions successfully loaded! Updating indexes and TTL procedure for event table... Updating schema settings... Schema updated. Updating data from version 3.2.2 to 3.3.0 ... Tenants default edge rule chain updater: 1 total entities updated. Tenants alarms customer updater: 1 total entities updated. Upgrading ThingsBoard from version 3.3.0 to 3.3.0PE ... Updating schema ... Schema updated. Updating data from version 3.3.0 to 3.3.0PE ... Updating system data... Upgrade finished successfully! ThingsBoard upgraded successfully! star@thingsboard-pe-1-vm:~$ //Start the service sudo systemctl daemon-reload sudo service thingsboard start sudo service thingsboard status ``` ### ==Upgrading== to 3.3.1PE from 3.3.0 ```bash wget https://dist.thingsboard.io/thingsboard-3.3.1pe.deb wget https://dist.thingsboard.io/tb-web-report-3.3.1pe.deb sudo service thingsboard stop sudo service tb-web-report stop sudo dpkg -i tb-web-report-3.3pe.deb sudo systemctl daemon-reload sudo service tb-web-report start sudo service tb-web-report status sudo dpkg -i thingsboard-3.3pe.deb sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=3.3.0 ______ __ _ ____ __ /_ __/ / /_ (_) ____ ____ _ _____ / __ ) ____ ____ _ _____ ____/ / / / / __ \ / / / __ \ / __ `/ / ___/ / __ | / __ \ / __ `/ / ___/ / __ / / / / / / / / / / / / / / /_/ / (__ ) / /_/ / / /_/ // /_/ / / / / /_/ / /_/ /_/ /_/ /_/ /_/ /_/ \__, / /____/ /_____/ \____/ \__,_/ /_/ \__,_/ /____/ =================================================== :: ThingsBoard Professional Edition :: (v3.3.1PE) =================================================== Warning: Nashorn engine is planned to be removed from a future JDK release Starting ThingsBoard Upgrade from version 3.3.0 ... Upgrading ThingsBoard from version 3.3.0 to 3.3.1 ... Upgrading ThingsBoard from version 3.3.1 to 3.3.1PE ... Updating schema ... Schema updated. Updating data from version 3.3.1 to 3.3.1PE ... Updating system data... Upgrade finished successfully! ThingsBoard upgraded successfully! sudo systemctl daemon-reload sudo service thingsboard start ``` ## Reference * https://thingsboard.io/docs/user-guide/install/pe/upgrade-instructions/