Catégories
Logiciel Technologie Tesla

Comment configurer TeslaMate avec Docker

Dans cet article, je vais vous expliquer pas à pas comment installer et paramétrer TeslaMate sur votre Vultr Instance de cloud computing. De la sélection de la configuration de votre VM à l'installation et la configuration de l'outil sur votre machine virtuelle. Vous cherchez un guide sur BuyVM ? Cliquez ici.

Dans ce tutoriel, j'utilise Vultr parce qu'ils ont un moyen idéal de configurer un serveur docker avec leur image prédéfinie et de démarrer très rapidement. J'aime aussi le fait que si vous n'êtes pas satisfait de TeslaMate, vous pouvez facilement détruire l'instance en nuage et continuer votre journée. Cependant, voyez jusqu'où vous pouvez aller avec la fonction $100 en crédits gratuits (doit utiliser les crédits dans les 30 jours)!

| graydonschwartz.com

Caractéristiques du TeslaMate :

  • Rapports de conduite et de charge
  • Rapport sur l'efficacité de la conduite
  • Consommation d'énergie (nette / brute)
  • Chargement de l'énergie ajoutée par rapport à l'énergie utilisée
  • Vampire Drain
  • Portée projetée du 100% (dégradation de la batterie)
  • Statistiques de charge
  • Statistiques d'entraînement
  • Historique des mises à jour installées
  • Voir quand votre voiture était en ligne ou endormie
  • Carte routière de la vie
  • Adresses visitées

Vérifiez AUSSI le statut de votre voiture (inc. niveau de la batterie) sans réveiller votre voiture !

Nous suivrons les instructions avancées des développeurs, car nous utiliserons une instance en nuage. Vous pourriez aussi l'installer sur un Rasberry Pi ou un ordinateur supplémentaire que vous avez sous la main. J'aime cependant cette option avec Vultr parce qu'il est facile à reproduire pour n'importe qui.

Déployer une nouvelle instance

vultrplus20200413 | graydonschwartz.com
Passez la souris sur le (+) plus et cliquez sur Déployer un nouveau serveur

Choisir le serveur: Cloud Compute

vultrchooseservercloudcompute20200413 | graydonschwartz.com
Comment configurer TeslaMate avec Docker 25


Emplacement du serveur: Chicago (j'ai choisi Chicago mais vous pouvez choisir ce qui vous convient le mieux) :

  • Atlanta, États-Unis
  • New York (NJ), États-Unis
  • Chicago, États-Unis
  • Dallas, États-Unis
  • Los Angeles, États-Unis
  • Miami, États-Unis
  • Seattle, États-Unis
  • Silicon Valley, États-Unis
  • Toronto, CANADA
  • Amsterdam, Pays-Bas
  • Paris, France
  • Francfort, Allemagne
  • Londres, Royaume-Uni
  • Tokyo, Japon
  • Singapour, Singapour
  • Sydney, Australie

Type de serveur: Application : Docker: Sur CentOS 7 x64 19.03.4-ce

vultrservertypeappdocker20200413 | graydonschwartz.com
Comment configurer TeslaMate avec Docker 26

Taille du serveur: 25 GB SSD
$5.00/mois OU $0.007/h
1 CPU
1024MB Mémoire*
1000GB Bande passante

vultrserversize20200413 | graydonschwartz.com
Comment configurer TeslaMate avec Docker 27

*Note : Docker nécessite un plan avec au moins 768MB de mémoire.

Cliquez sur Déployez maintenant !

vultrdeploynow20200413 | graydonschwartz.com
Comment configurer TeslaMate avec Docker 28

Cliquez sur Produits !

vultrproducts20200413 | graydonschwartz.com
Comment configurer TeslaMate avec Docker 29
vultryourproducts20200413 | graydonschwartz.com
Comment configurer TeslaMate avec Docker 30

Informations sur le serveur

vultrserverinfodocker20200413 | graydonschwartz.com
Comment configurer TeslaMate avec Docker 31

Télécharger PuTTY

Entrez l'adresse IP
et cliquez sur Ouvrez !

GUIDE : Installation avancée de Docker (Traefik, Let's Encrypt, HTTPS, HTTP Basic Auth)

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Configuration - docker-compose.yml

version : "3"

services :
  teslamate :
    image : teslamate/teslamate:latest
    restart : always
    dépend_on :
      - base de données
    environnement :
      - UTILISATEUR_BASE=${TM_DB_USER}
      - DATABASE_PASS=${TM_DB_PASS}
      - NOM_DE_LA_BASE=${TM_DB_NAME}
      - DATABASE_HOST=database
      - MQTT_HOST=mosquitto
      - VIRTUAL_HOST=${FQDN_TM}
      - CHECK_ORIGIN=true
      - TZ=${TM_TZ}
    volumes :
      - ./import:/opt/app/import
    labels :
      - "traefik.enable=true"
      - "traefik.port=4000"
      - "traefik.http.middlewares.redirect.redirectscheme.scheme=https"
      - "traefik.http.middlewares.teslamate-auth.basicauth.realm=teslamate"
      - "traefik.http.middlewares.teslamate-auth.basicauth.usersfile=/auth/.htpasswd"
      - "traefik.http.routers.teslamate-insecure.rule=Host(`${FQDN_TM}`)"
      - "traefik.http.rouers.teslamate-insecure.middlewares=redirect"
      - "traefik.http.routeurs.teslamate-ws.rule=Host(`${FQDN_TM}`) && Path(`/live/websocket`)"
      - "traefik.http.routers.teslamate-ws.entrypoints=websecure"
      - "traefik.http.routeurs.teslamate-ws.tls"
      - "traefik.http.routeurs.teslamate.rule=Host(`${FQDN_TM}`)"
      - "traefik.http.routeurs.teslamate.middlewares=teslamate-auth"
      - "traefik.http.routeurs.teslamate.entrypoints=websecure"
      - "traefik.http.routeurs.teslamate.tls.certresolver=tmhttpchallenge"
    cap_drop :
      - tous

  base de données :
    image : postgres:13
    restart : always
    environnement :
      - POSTGRES_USER=${TM_DB_USER}
      - POSTGRES_PASSWORD=${TM_DB_PASS}
      - POSTGRES_DB=${TM_DB_NAME}
    volumes :
      - teslamate-db:/var/lib/postgresql/data

  grafana :
    image : teslamate/grafana:latest
    redémarrage : toujours
    environnement :
      - DATABASE_USER=${TM_DB_USER}
      - MOT DE PASSE=${TM_DB_PASS}
      - NOM_DE_LA_BASE=${TM_DB_NAME}
      - DATABASE_HOST=database
      - GRAFANA_PASSWD=${GRAFANA_PW}
      - GF_SECURITY_ADMIN_USER=${GRAFANA_USER}
      - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PW}
      - GF_AUTH_ANONYMOUS_ENABLED=false
      - GF_SERVER_DOMAIN=${FQDN_TM}
      - GF_SERVER_ROOT_URL=%(protocole)s://%(domaine)s/grafana
      - GF_SERVER_SERVE_FROM_SUB_PATH=true

    volumes :
      - teslamate-grafana-data:/var/lib/grafana
    labels :
      - "traefik.enable=true"
      - "traefik.port=3000"
      - "traefik.http.middlewares.redirect.redirectscheme.scheme=https"
      - "traefik.http.routeurs.grafana-insecure.rule=Host(`${FQDN_TM}`)"
      - "traefik.http.routeurs.grafana-insecure.middlewares=redirect"
      - "traefik.http.routeurs.grafana.rule=Path(`/grafana`) || PathPrefix(`/grafana/`)"
      - "traefik.http.routers.grafana.entrypoints=websecure"
      - "traefik.http.routers.grafana.tls.certresolver=tmhttpchallenge"

  mosquitto :
    image : eclipse-mosquitto:2
    restart : always
    commande : mosquitto -c /mosquitto-no-auth.conf
    ports :
      - 127.0.0.1:1883:1883
    volumes :
      - mosquitto-conf:/mosquitto/config
      - mosquitto-data:/mosquitto/data

  proxy :
    image : traefik:v2.4
    restart : always
    commande :
      - "--global.sendAnonymousUsage=false"
      - "--providers.docker"
      - "--providers.docker.exposedByDefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.tmhttpchallenge.acme.httpchallenge=true"
      - "--certificatesresolvers.tmhttpchallenge.acme.httpchallenge.entrypoint=web"
      - "--certificatsresolvers.tmhttpchallenge.acme.email=${LETSENCRYPT_EMAIL}"
      - "--certificatsresolvers.tmhttpchallenge.acme.storage=/etc/acme/acme.json"
    ports :
      - 80:80
      - 443:443
    volumes :
      - ./.htpasswd:/auth/.htpasswd
      - ./acme/:/etc/acme/
      - /var/run/docker.sock:/var/run/docker.sock:ro

volumes :
  teslamate-db :
  teslamate-grafana-data :
  mosquitto-conf :
  mosquitto-data :

Configuration - .env

TM_DB_USER=teslamate
TM_DB_PASS=secret
TM_DB_NAME=teslamate

GRAFANA_USER=admin
GRAFANA_PW=admin

FQDN_TM=teslamate.example.com

TM_TZ=Europe/Berlin

LETSENCRYPT_EMAIL=yourperson@example.com

Configuration - .htpasswd

Conformément à la documentation de TeslaMate. Je vous recommande d'utiliser cet outil pour créer votre fichier .htpasswd :
http://www.htaccesstools.com/htpasswd-generator/
Saisissez votre nom d'utilisateur, mot de passe et sélectionnez Bcrypt (à partir de Apache v2.4)
Dans l'exemple ci-dessous, j'ai saisi nom d'utilisateur et mot de passe pour ces champs :

Exemple :

mon:$2y$10$as5PEnYaoGEx2ebCFjdK0e9PBshAsvzIeAKijwNgeMSC9oJkDNo2.

Copiez et collez maintenant ces informations dans votre fichier .htpasswd.

vi .htpasswd (ou votre éditeur de texte préféré)

Assurez-vous de configurer votre mot de passe avant de commencer le Teslamate avec Docker !

docker-compose up

Note : Il se peut que vous deviez exécuter cette commande deux fois pour qu'elle fonctionne.



Configuration du DNS

Vous devrez faire pointer teslamate.example.com + grafana.exampe.com (votre sous-domaine) vers l'adresse IP qui vous a été fournie par Vultr lorsque vous avez créé votre serveur virtuel. Pour ce faire, contactez votre hébergeur ou connectez-vous à votre panneau de contrôle pour gérer vos enregistrements DNS et faire ajouter ces entrées.

Se connecter à TeslaMate

  1. Ouvrir l'interface web https://teslamate.example.com
    Connectez-vous avec les détails que vous avez saisis dans le fichier .htpasswd, puis vous serez invité à vous connecter avec votre compte Tesla.
  2. Connectez-vous avec votre compte Tesla
  3. Les tableaux de bord Grafana sont disponibles à l'adresse suivante: https://grafana.example.com.
  4. Entrez le nom d'utilisateur et le mot de passe :admin:admin et vous serez invité à changer le mot de passe lors de votre première connexion.

J'ai dépensé $0.01 ou 1 penny pour tester le Teslamate. $0.02 pour compléter le tutoriel. 🙂 ...

vultrdockercloudinstance | graydonschwartz.com
Panneau de contrôle Vultr

Vous pouvez passer de Celcius à Fahrenheit et de Kilomètres à Miles dans les paramètres.

teslamatehomescreenfeb212020 | graydonschwartz.com
Écran d'accueil du TeslaMate

Voici à quoi ressemble l'écran d'accueil. Vous verrez également une carte avec une épingle indiquant l'emplacement de votre véhicule Tesla.

teslamatehomescreenching1kwfeb212020 | graydonschwartz.com
5 mi/hr | 12A | 3kW

Je suis allé faire une session de charge à la prise régulière 12a la plus proche pour montrer à quoi ressemble une session de charge avec TeslaMate. Une interface propre ! 🙂

teslamatehomescreenching3kwfeb212020 | graydonschwartz.com
13 mi/hr | 16A | 3kW
teslamatecharginggraph3kwfeb212020 | graydonschwartz.com
13 mi/hr | 16A | 3kW

Mise à jour du 10 mars 2020

TeslaMate a publié une mise à jour vers la v1.17.1 il y a environ 16 jours.

  • Ajouter Tableau de bord du voyage: Ce tableau de bord a été construit pour visualiser des trajets plus longs. Il donne un aperçu de tous les trajets et de toutes les charges qui ont été enregistrés sur une période de plusieurs heures ou jours.
  • Page de lancement du TeslaMate

Je suis impatient de tester ce nouveau Tableau de bord du voyage ajouté dans la nouvelle version. Cela sera super utile pour les voyages sur route de Tesla bien sûr ! 🙂 .

C'est la documentation que j'ai utilisée pour construire certaines parties de ce tutoriel :
https://docs.teslamate.org/docs/guides/traefik
https://docs.teslamate.org/docs/guides/portainer

Mise à jour du 21 mars 2020

Comment utiliser la nouvelle fonction de voyage à part de Teslamate :

  1. Ouvrir l'interface web https://teslamate.example.com
  2. Tableaux de bord => Tapez ou cliquez sur "Voyage
  3. Tapez ou cliquez sur "Aujourd'hui, jusqu'à présent
  4. Sélectionnez la présélection dans "5 dernières minutes", jusqu'à "5 dernières années"ou sélection d'une plage de dates personnalisée.
teslamatehomescreenmarch212020 | graydonschwartz.com
Écran d'accueil du TeslaMate
teslamatehomescreenmarch212020 1 | graydonschwartz.com
Tapez ou passez la souris sur "Tableaux de bord
teslamatehomescreenmarch212020 2 | graydonschwartz.com
Tapez ou cliquez sur "Voyage
teslamatehomescreenmarch212020 3 | graydonschwartz.com
Sélectionnez la présélection dans "5 dernières minutes", jusqu'à "5 dernières années"ou sélection d'une plage de dates personnalisée.
teslamatetriplast1yearmarch212020 | graydonschwartz.com
TeslaMate > Exemple de voyage
teslamatehomescreenmarch212020 4 | graydonschwartz.com
TeslaMate > Exemple de voyage (gros plan)

J'espère que ce guide de configuration vous a été utile. 🙂

| graydonschwartz.com

Remerciements spéciaux

TESMAT au Supercharger de Tesla

TESMAT

TESMAT pourrait être le matelas idéal pour votre prochaine sieste au Supercharger, votre prochain voyage en camping ou le cadeau parfait pour votre propriétaire de Tesla Model 3/Y préféré. Vous pouvez utiliser mon code promo pour économiser sur votre achat.

En savoir plus :

luminar neo logo pour fonds clairs mis à jour | graydonschwartz.com

Luminar Neo

Utilisez le bouton ci-dessous et n'hésitez pas à utiliser le code de réduction (GRAYDON) pour vous donner un réduction de prix lors du paiement sur Luminar :

Il se peut que je reçoive une petite commission pour mon approbation, mes recommandations, mes témoignages et / ou mes liens vers les produits ou services mentionnés ci-dessus. Votre achat me permet de vous apporter plus de photographies, de guides de voyage et de voyages autour du monde.

Par Graydon Schwartz

Pour en savoir plus sur Graydon, consultez le site À propos de moi page.