Thingsboard upgrade in Portainer
Um Thingsboard zu upgraden, muss das Start-CMD von start-tb.sh zu upgrade-tb.sh geändert werden. Mit einer 'normalen' docker-compose.yaml gibt man folgende Befehle ein:
docker pull thingsboard/tb-postgres
docker compose stop
docker run -it -v ~/.mytb-data:/data --rm thingsboard/tb-postgres upgrade-tb.sh
docker compose rm mytb
docker compose up
In Portainer hingegen ist das docker run Kommando so an sich nicht möglich. Daher muss der existierende Container dupliziert werden, um dann den CMD Wert des Containers ändern zu können.
- Auf den existierende Container gehen (zb Stacks>thingsboard>thingsboard-mytbpe-1) und auf 'duplicate/edit':

- Den neuen Container umbenennen, das Image auf die nächst aktuellere Version ändern und den CMD Wert anpassen:


- Container deployen:

- Falls Request failed with status code 500 oder Request failed with status code 400, muss der alte Container oder sogar das ganze Stack erst gestoppt werden, weil auf das gleiche Volume und Network zugegriffen wird:


- Jetzt sollte der neue modifizierte Container deployt werden können. In den Logs kann man den Progress sehen:

- Zum Schluss einfach wieder den Container stoppen und entfernen und wieder das reguläre Stack starten, das dann den ursprünglichen Container startet. Vorher noch in der docker-compose.yaml die neue Imageversion anpassen:
