Stand with Ukraine flag
Pricing Try it now
Professional Edition
Getting Started Documentation Devices Library Guides
Architecture API FAQ
On this page

ThingsBoard PE v3.0.x upgrade instructions for Docker

Upgrading ThingsBoard PE to 3.0.1

NOTE: These upgrade steps are applicable for ThingsBoard version 3.0PE. In order to upgrade to 3.0.1PE you need to upgrade to 3.0PE first.

Doc info icon

Important note before upgrading to ThingsBoard 3.0

  • ThingsBoard UI was rewritten from AngularJS 1.5.8 to use Angular 9.
    • What does it mean?
      • Generally speaking, it means: state of the art application, easier development of front-end elements, performance improvements and more flexibility with UI customizations.
    • How to upgrade?
      • You are safe to upgrade if you do NOT use custom widgets or custom actions in the dashboards.
      • New JS framework may not support your current code — custom widgets and custom actions, so they need to be refactored a bit. Thus we encourage you to test your customizations using our cloud environments or your dev instances.
  • Migration from pure Cassandra to Hybrid DB Approach
    • We still support Cassandra for storing telemetry data but not the entities like devices, customers, tenants, etc.
    • What does it mean?
      • This will simplify maintenance and future improvements that will enable advanced search capabilities in v3.1.
    • How to upgrade?
      • If you are using pure PostgreSQL setup or PostgreSQL (for entities) + Cassandra (for telemetry), you are not affected.
      • If you are using pure Cassandra - the upgrade procedure is automatic but takes some time. The downtime depends on the number of devices, attributes, alarms and relations. If you have less than 10 million of those entities the upgrade should take a few minutes and depends on the database performance.

ThingsBoard PE image download

Download ThingsBoard PE Docker image:

1
docker pull thingsboard/tb-pe:3.0.1PE

ThingsBoard PE service upgrade

  • Stop ThingsBoard mytbpe container if it is running.
1
docker compose stop mytbpe
Doc info icon

If you still rely on Docker Compose as docker-compose (with a hyphen) execute next command:
docker-compose stop mytbpe

  • Update docker-compose.yml
1
2
3
4
< . . . >
  mytbpe:
    image: "thingsboard/tb-pe:3.0.1PE"
< . . . >
  • Change upgradeversion variable:
1
echo '3.0.0' | sudo tee ~/.mytbpe-data/.upgradeversion
  • Execute the following commands to upgrade ThingsBoard to the new version:
1
docker compose run mytbpe upgrade-tb.sh
Doc info icon

If you still rely on Docker Compose as docker-compose (with a hyphen) execute next command:
docker-compose run mytbpe upgrade-tb.sh

  • Start ThingsBoard:
1
docker compose up -d
Doc info icon

If you still rely on Docker Compose as docker-compose (with a hyphen) execute next command:
docker-compose up -d

Upgrading ThingsBoard PE to 3.0

ThingsBoard PE image download

Download ThingsBoard PE Docker image:

1
docker pull thingsboard/tb-pe:3.0.0PE

ThingsBoard PE service upgrade

  • Stop ThingsBoard mytbpe container if it is running.
1
docker compose stop mytbpe
Doc info icon

If you still rely on Docker Compose as docker-compose (with a hyphen) execute next command:
docker-compose stop mytbpe

  • Update docker-compose.yml
1
2
3
4
< . . . >
  mytbpe:
    image: "thingsboard/tb-pe:3.0.0PE"
< . . . >
  • Change upgradeversion variable:
1
echo '2.5.0' | sudo tee ~/.mytbpe-data/.upgradeversion
  • Execute the following commands to upgrade ThingsBoard to the new version:
1
docker compose run mytbpe upgrade-tb.sh
Doc info icon

If you still rely on Docker Compose as docker-compose (with a hyphen) execute next command:
docker-compose run mytbpe upgrade-tb.sh

  • Start ThingsBoard:
1
docker compose up -d
Doc info icon

If you still rely on Docker Compose as docker-compose (with a hyphen) execute next command:
docker-compose up -d

Next steps