Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,11 @@ Edit the ThingsBoard node configuration:
nano tb-node.yml
```

Find the `TB_LICENSE_SECRET` environment variable and replace `PUT_YOUR_LICENSE_SECRET_HERE` with your actual license secret:
Find the `TB_LICENSE_SECRET` environment variable and set its `value:` to your actual license secret:

```yaml
- name: TB_LICENSE_SECRET
value: "PUT_YOUR_LICENSE_SECRET_HERE"
value: "YOUR_LICENSE_SECRET"
```
## Step 3. Configure database
Expand Down
62 changes: 61 additions & 1 deletion src/content/docs/docs/pe/installation/upgrade-from-ce.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ description: "Instructions for upgrading ThingsBoard from Community Edition to P
import DocLink from '@components/DocLink.astro';
import { Aside } from '@astrojs/starlight/components';
import { Code } from '@astrojs/starlight/components';
import { k8sCloneCmd } from '~/util/install-commands';
import { Products } from '~/models/site.models';
import { PE_FULL_VER, PE_PKG_VER } from '~/data/versions';
import { PE_FULL_VER, PE_PKG_VER, CE_FULL_VER } from '~/data/versions';
Comment on lines +10 to +12

export const ubuntuDownloadCmd = `wget https://dist.thingsboard.io/thingsboard-${PE_PKG_VER}.deb`;
export const ubuntuInstallCmd = `sudo dpkg -i thingsboard-${PE_PKG_VER}.deb`;
Expand All @@ -19,6 +20,9 @@ export const windowsDownloadUrl = `https://dist.thingsboard.io/thingsboard-windo
export const dockerPullCmd = `docker pull thingsboard/tb-pe-node:${PE_FULL_VER}
docker pull thingsboard/tb-pe-web-report:${PE_FULL_VER}`;

export const k8sLicenseCmd = `- name: TB_LICENSE_SECRET\n value: "YOUR_LICENSE_SECRET"`;
export const cloneCmd = k8sCloneCmd('pe', 'minikube');

## Ubuntu

<Aside type="caution">
Expand Down Expand Up @@ -194,3 +198,59 @@ Run the upgrade and start the services:
./docker-upgrade-tb.sh --fromVersion=CE
./docker-start-services.sh
```

## Minikube

<Aside type="caution">
These upgrade steps are applicable for the **latest** ThingsBoard Community Edition version. You must <DocLink product={Products.CE} path="installation/upgrade-instructions">upgrade to the latest Community Edition version first</DocLink>.
</Aside>

For AWS EKS, Azure AKS, or GCP GKE refer to the corresponding <DocLink product={Products.PE} path="installation">PE installation guides</DocLink>.

### Stop ThingsBoard CE resources

```bash
./k8s-delete-resources.sh
```

### Switch to PE Kubernetes scripts

PE uses a separate repository with additional components. Clone the PE scripts into a separate directory:

<Code code={cloneCmd} lang="bash" />

Copy your custom settings from the CE configuration (database type, hosts, environment variables, volumes) into the corresponding PE files.

In `tb-node.yml`, find `- name: TB_LICENSE_SECRET` and set its `value:` to your license secret:

<Code code={k8sLicenseCmd} lang="yaml" />

See <a href="https://www.youtube.com/watch?v=dK-QDFGxWek" target="_blank">How-to get pay-as-you-go subscription</a> or <a href="https://www.youtube.com/watch?v=GPe0lHolWek" target="_blank">How-to get perpetual license</a> for more details.

### Run the database upgrade

```bash
./k8s-upgrade-tb.sh --fromVersion=CE
```

<Aside type="note">
The upgrade script creates a temporary `tb-db-setup` pod using the image from `database-setup.yml`. All third-party services (Zookeeper, Kafka, Valkey, PostgreSQL, and Cassandra if using the `hybrid` database mode) must be in `Running` state before executing this command. Check pod status with:

```bash
kubectl get pods -n thingsboard
```
</Aside>

### Deploy ThingsBoard PE resources

```bash
./k8s-deploy-resources.sh
```

### Verify the upgrade

Wait until all pods are running:

```bash
kubectl get pods -n thingsboard
```