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 | ||
| + | </ | ||