it:server:teslamate

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
it:server:teslamate [2024/11/14 17:43] Petr Nosekit:server:teslamate [2024/11/14 22:32] (aktuální) Petr Nosek
Řádek 2: Řádek 2:
  
 Skvělý logger na vlastním server dat pro auta značky Tesla. Skvělý logger na vlastním server dat pro auta značky Tesla.
 +
  
 ===== Instalace ===== ===== Instalace =====
Řádek 10: Řádek 11:
  
  
-Instaluji pomocí dockeru a na začátek je potřeba dobře zabezpečit. Pomocí stránky https://randomkeygen.com/ jsem si vygenroval token na zakryptování Tesla API tokenu.+Instaluji pomocí dockeru a na začátek je potřeba dobře zabezpečit. Pomocí stránky https://randomkeygen.com/ jsem si vygeneroval token na zakryptování Tesla API tokenu. 
 + 
 +Takto vypadá můj //docker-compose.yml//: 
 + 
 +<code yaml> 
 +version: "3.3"  # Nastavení verze Docker Compose 
 + 
 +services: 
 +  teslamate: 
 +    container_name: teslamate 
 +    image: teslamate/teslamate:latest 
 +    restart: always 
 +    environment: 
 +      - ENCRYPTION_KEY=****** #replace with a secure key to encrypt your Tesla API tokens f.ex. randomkeygen.com 
 +      - DATABASE_USER=******* 
 +      - DATABASE_PASS=******* #insert your secure database password! 
 +      - DATABASE_NAME=******* 
 +      - DATABASE_HOST=database 
 +      - MQTT_HOST=******* 
 +      - MQTT_PORT=8883 
 +      - MQTT_USERNAME=******* 
 +      - MQTT_PASSWORD=******* 
 +      - MQTT_TLS=true 
 +      - MQTT_TLS_ACCEPT_INVALID_CERTS=true 
 +      - TZ=Europe/Prague 
 +    ports: 
 +      - 4000:4000 
 +    volumes: 
 +      - ./import:/opt/app/import 
 +    cap_drop: 
 +      - all 
 + 
 +  database: 
 +    container_name: postgres 
 +    image: postgres:17 
 +    restart: always 
 +    environment: 
 +      - POSTGRES_USER=******* 
 +      - POSTGRES_PASSWORD=******* #insert your secure database password! 
 +      - POSTGRES_DB=******* 
 +      - TZ=Europe/Prague 
 +    volumes: 
 +      - teslamate-db:/var/lib/postgresql/data 
 + 
 +  grafana: 
 +    container_name: grafana-teslamate 
 +    image: teslamate/grafana:latest 
 +    restart: always 
 +    environment: 
 +      - DATABASE_USER=******* 
 +      - DATABASE_PASS=******* #insert your secure database password! 
 +      - DATABASE_NAME=******* 
 +      - DATABASE_HOST=database 
 +      - TZ=Europe/Prague 
 +    ports: 
 +      - 3001:3000 
 +    volumes: 
 +      - teslamate-grafana-data:/var/lib/grafana 
 + 
 +volumes: 
 +  teslamate-db: 
 +  teslamate-grafana-data: 
 + 
 +</code> 
 + 
 +Samozřejmě je nutné nahradit hvězdičky vlastními hesly, uživatelskými jmény atp. Další možnosti nastavení Environment Variables pro Teslamate je v [[https://docs.teslamate.org/docs/configuration/environment_variables|dokumentaci]]. 
 + 
 + 
 +Jakmile budu řešit zabezpečení, tak bude dobré zprovoznit v dockeru **traefik proxy** dle [[https://docs.teslamate.org/docs/guides/traefik|návodu]]. 
 + 
 +Ještě pro úplnost doplňuji, že databáze je uložena mimo kontejner v dockeru a je v cestě: **/var/lib/docker/volumes** 
  
  
Řádek 27: Řádek 99:
 Tam běží stránka, kde je popsaný postup. Kliknu na URL, přihlásím se k Tesla účtu a zkopíruji URL zpátky do stránky Tesla token fetcher. Následně pak získám Access Token a Refresh Token potřebný pro přihlášení Teslamate. Tam běží stránka, kde je popsaný postup. Kliknu na URL, přihlásím se k Tesla účtu a zkopíruji URL zpátky do stránky Tesla token fetcher. Následně pak získám Access Token a Refresh Token potřebný pro přihlášení Teslamate.
  
 +
 +
 +==== Záloha a obnova databáze ====
 +
 +Návod vychází z [[https://docs.teslamate.org/docs/maintenance/backup_restore|této dokumentace]] a je potřeba opět nastavit správná uživatelské jméno a databázi.
 +
 +Záloha databáze:
 +
 +<code bash>
 +docker compose exec -T database pg_dump -U teslamate teslamate > ./teslamate.bck 
 +</code>
 +
 +
 +Obnova databáze:
 +
 +<code bash>
 +# Stop the teslamate container to avoid write conflicts
 +docker compose stop teslamate
 +
 +# Drop existing data and reinitialize (Don't forget to replace first teslamate if using different TM_DB_USER)
 +docker compose exec -T database psql -U teslamate teslamate << .
 +DROP SCHEMA public CASCADE;
 +CREATE SCHEMA public;
 +CREATE EXTENSION cube WITH SCHEMA public;
 +CREATE EXTENSION earthdistance WITH SCHEMA public;
 +.
 +
 +# Restore
 +docker compose exec -T database psql -U teslamate -d teslamate < teslamate.bck
 +
 +# Restart the teslamate container
 +docker compose start teslamate
 +</code>
 +
 +==== Upgrade na novou verzi ====
 +
 +Předem určitě zálohovat databázi a poté spustit příkazy:
 +
 +<code bash>
 +docker compose stop
 +docker compose pull
 +docker compose up -d
 +</code>
  
  • it/server/teslamate.1731606218.txt.gz
  • Poslední úprava: 2024/11/14 17:43
  • autor: Petr Nosek