Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Následující verze | Předchozí verze | ||
it:server:teslamate [2024/11/14 16:28] – vytvořeno Petr Nosek | it: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:// | + | Instaluji pomocí dockeru a na začátek je potřeba dobře zabezpečit. Pomocí stránky https:// |
+ | |||
+ | Takto vypadá můj // | ||
+ | |||
+ | <code yaml> | ||
+ | version: " | ||
+ | |||
+ | services: | ||
+ | teslamate: | ||
+ | container_name: | ||
+ | image: teslamate/ | ||
+ | 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/ | ||
+ | ports: | ||
+ | - 4000:4000 | ||
+ | volumes: | ||
+ | - ./ | ||
+ | cap_drop: | ||
+ | - all | ||
+ | |||
+ | database: | ||
+ | container_name: | ||
+ | image: postgres: | ||
+ | restart: always | ||
+ | environment: | ||
+ | - POSTGRES_USER=******* | ||
+ | - POSTGRES_PASSWORD=******* #insert your secure database password! | ||
+ | - POSTGRES_DB=******* | ||
+ | - TZ=Europe/ | ||
+ | volumes: | ||
+ | - teslamate-db:/ | ||
+ | |||
+ | grafana: | ||
+ | container_name: | ||
+ | image: teslamate/ | ||
+ | restart: always | ||
+ | environment: | ||
+ | - DATABASE_USER=******* | ||
+ | - DATABASE_PASS=******* #insert your secure database password! | ||
+ | - DATABASE_NAME=******* | ||
+ | - DATABASE_HOST=database | ||
+ | - TZ=Europe/ | ||
+ | ports: | ||
+ | - 3001:3000 | ||
+ | volumes: | ||
+ | - teslamate-grafana-data:/ | ||
+ | |||
+ | volumes: | ||
+ | teslamate-db: | ||
+ | teslamate-grafana-data: | ||
+ | |||
+ | </ | ||
+ | |||
+ | 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:// | ||
+ | |||
+ | |||
+ | Jakmile budu řešit zabezpečení, | ||
+ | |||
+ | Ještě pro úplnost doplňuji, že databáze je uložena mimo kontejner v dockeru a je v cestě: **/ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Získání Tesla tokenu ==== | ||
+ | |||
+ | K získání Tesla tokenu jsem použil tento nástroj: https:// | ||
+ | |||
+ | Nainstaloval jsem si ho lokálně a spustil ve složce pomocí příkazu: | ||
+ | |||
+ | < | ||
+ | npm run start | ||
+ | </ | ||
+ | |||
+ | Postup je takový, že zadám url: http:// | ||
+ | |||
+ | 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:// | ||
+ | |||
+ | Záloha databáze: | ||
+ | |||
+ | <code bash> | ||
+ | docker compose exec -T database pg_dump -U teslamate teslamate > ./ | ||
+ | </ | ||
+ | |||
+ | |||
+ | 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 | ||
+ | </ | ||
+ | |||
+ | ==== 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 | ||
+ | </ | ||