2 minute read

Anbei eine weitere Schritt für Schritt Anleitung, um Teslamate in der Google Cloud zu aktualisieren. Allgemeine Voraussetzung: Teslamate in der Google Cloud installiert.

Kurzübersicht

Um die Version von Teslamate zu aktualisieren müssen wir in der docker-compose.yml Datei die Version eintragen, die gestartet werden soll. In der ursprünglichen Datei ist die Version 1.27.0 eingetragen. Hier aktualisieren wir auf 1.27.3. Hierzu melden wir uns an der virtuellen Maschine über die Console an, erstellen ein Backup der Datenbank, editieren die docker-compose.yml, downloaden die neue Version und starten Teslamate neu. Wie folgt:

Anmelden auf der Console

Wie in der Installations-Anleitung beschrieben auf der virtuellen Maschine anmelden:

Konsolenfenster

Backup erstellen

Bevor wir aktualisieren erstellen wir ein Backup der Datenbank:

sudo docker-compose exec -T database pg_dump -U teslamate teslamate > ~/teslamate_db.2023-10-09

Damit erstellt ihr ein Backup, welches in eurem Home-Verzeichnis gespeichert wird:

andreas_faerber@docker-teslamate:~/docker-teslamate$ sudo docker-compose exec -T database pg_dump -U teslamate teslamate > ~/teslamate_db.2023-10-09
andreas_faerber@docker-teslamate:~/docker-teslamate$ ls -la ~/tesla*
-rw-r--r-- 1 andreas_faerber andreas_faerber 281208664 Oct  9 20:44 /home/andreas_faerber/teslamate_db.2023-10-09
andreas_faerber@docker-teslamate:~/docker-teslamate$ 

Editieren der docker-compose.yml Datei

Wir editieren jetzt die docker-compose.yml, so dass wir die Version von 1.27.0 auf 1.27.3 anpassen.

Das soll dann so aussehen (wir ändern VORHER in NACHHER):

VORHER:

services:
  teslamate:
    image: teslamate/teslamate:1.27.0
    restart: always

[...]

NACHHER:

services:
  teslamate:
    image: teslamate/teslamate:1.27.3
    restart: always

[...]

Dazu nutzen wir die folgenden Kommandos nach dem einloggen auf die virtuelle Maschine:

cd docker-teslamate
nano docker-compose.yml

Um die Datei zu speichern drückt ihr ^X (Control-x), beantwortet die Frage mit “y” (y drücken) und bei “File Name to Write: docker-compose.yml” drückt ihr einfach Return. Dann solltet ihr wieder auf dem Prompt in der Konsole sein:

andreas_faerber@docker-teslamate:~$ cd docker-teslamate/
andreas_faerber@docker-teslamate:~/docker-teslamate$ nano docker-compose.yml
andreas_faerber@docker-teslamate:~/docker-teslamate$ 

Download des Updates

Mit den folgenden Kommandos laden wir die neue Version von teslamate herunter:

sudo docker-compose pull

Ausgabe:

andreas_faerber@docker-teslamate:~/docker-teslamate$ sudo docker-compose pull
Pulling grafana   ... done
Pulling database  ... done
Pulling teslamate ... done
Pulling mosquitto ... done
Pulling proxy     ... done
andreas_faerber@docker-teslamate:~/docker-teslamate$ 

Neustart von teslamate

sudo docker-compose down
sudo docker-compose up -d

Ausgabe:

andreas_faerber@docker-teslamate:~/docker-teslamate$ sudo docker-compose down
Stopping docker-teslamate_grafana_1   ... done
Stopping docker-teslamate_proxy_1     ... done
Stopping docker-teslamate_database_1  ... done
Stopping docker-teslamate_teslamate_1 ... done
Stopping docker-teslamate_mosquitto_1 ... done
Removing docker-teslamate_grafana_1   ... done
Removing docker-teslamate_proxy_1     ... done
Removing docker-teslamate_database_1  ... done
Removing docker-teslamate_teslamate_1 ... done
Removing docker-teslamate_mosquitto_1 ... done
Removing network docker-teslamate_default
andreas_faerber@docker-teslamate:~/docker-teslamate$ sudo docker-compose up -d
Creating network "docker-teslamate_default" with the default driver
Creating docker-teslamate_teslamate_1 ... done
Creating docker-teslamate_mosquitto_1 ... done
Creating docker-teslamate_grafana_1   ... done
Creating docker-teslamate_proxy_1     ... done
Creating docker-teslamate_database_1  ... done
andreas_faerber@docker-teslamate:~/docker-teslamate$ 

Fertig

Voila!

Comments

Marc

Hi Andreas Ich habe seit Oktober teslamate am laufen dank deiner super Anleitung (inkl. Update). Seit heute läuft jedoch nix mehr. Google Cloud hat eine 100% Auslastung und meine Versuche teslamate neu starten klappen nicht. Nun gibt es ja die Backups. Was muss man genau tun um die VM neu aufzusetzen und das Backup einzuspielen? Danke für deine Hilfe & Grüsse

Andreas

Hallo Marc,

wie hast du versucht Teslamate neu zu starten? Im docker-teslamate Verzeichnis sollte ein

sudo docker-compose down

und anschließend

sudo docker-compose up -d

asureichen für einen Neustart. Wenn das nicht hilft eventuell das System neu starten (sudo reboot) und dann prüfen, ob du Teslamate neu starten kannst / musst.

Was bekommst du dort in den Logfiles? (sudo docker-compose logs –tail=200)

Viele Grüße Andreas

Andreas

Zum Thema Backup, falls du noch kein eigenes Backup angelegt hast:

  • Siehe https://docs.teslamate.org/docs/maintenance/backup_restore

Ein Beispiel-Skript solltest du mit folgendem Befehl herunterladen können:

curl -o ~/docker-teslamate/teslmate_backup.sh https://blog.abgefaerbt.de/assets/files/teslamate_backup_beispiel.sh

Dies dann aus dem Verzeichnis heraus mit “sh ./teslamate_backup.sh” aufrufen um ein Backup zu erstellen. Auf der Teslamate Seite zum Backup und Restore ist beschrieben, wie du das Backup einspielen kannst (wenn du schon eins hast).

Klappt das bei dir / kommst du damit klar?

Viele Grüße Andreas

Marc

Hi Andreas

Danke für deine schnelle und Professionelle Hilfe :) Ich konnte Teslamate neu starten mit folgendem Befehl: sudo docker-compose up

In den Logfiles erhalte ich (tail=200) nachdem Neustart.

Das mit dem Backup werde ich noch in Angriff nehmen.

Vielen Dank und Grüsse Marc

Leave a Comment

Your email address will not be published. Required fields are marked *

Loading...