Cet article vous fournira un guide détaillé sur la façon d'installer TeslaMate sur votre AcheterVM Tranche. Nous passerons en revue chaque étape du processus, depuis le choix de la configuration de la machine virtuelle qui convient à vos besoins, jusqu'à l'installation et la configuration de TeslaMate sur votre machine virtuelle.
Si vous êtes intéressé par la mise en place d'un TeslaMate auto-hébergé à un coût abordable de seulement $2 par mois en utilisant une tranche BuyVM, lisez ce qui suit. Nous avons tout prévu avec ce tutoriel étape par étape.
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 !
Sélection SLICE
Dans ce tutoriel, nous allons utiliser le SLICE 512 de AcheterVM qui comprend 1 cœur à 3,50+ GHz (l'utilisation équitable du CPU s'applique), 512 Mo de mémoire, 10 Go de stockage SSD et une bande passante non mesurée.

Je recommande de s'inscrire pour que l'un de leurs nouveaux VPS AMD Ryzen dans le centre de données de Las Vegas réapparaisse, car ils sont plus performants, tout neufs et sans coût supplémentaire. Ils proposent également des serveurs cloud à New York et au Luxembourg, mais avec du matériel Intel plus ancien.
J'ai déjà utilisé plus de mémoire pour l'hébergement de TeslaMate mais j'ai trouvé que 512 Mo était largement suffisant pour faire fonctionner TeslaMate pour un Model 3 et un accès pour moi seul.
Commander une tranche

- Sélectionnez un emplacement :
Ordre - Las Vegas
Ordre - New York
Ordre - Luxembourg - Que voulez-vous faire aujourd'hui ? Cliquez sur 'Commander l'hébergement‘.
- Sélectionnez la taille de votre tranche et cliquez sur ''.Commandez maintenant‘.
- Entrez votre domaine ou sous-domaine dans le formulaire de commande.
Exemple : teslamate.tesla.com - Ils acceptent PayPal, stripe, ainsi qu'un tas d'autres options. Assurez-vous que les informations de votre compte correspondent à celles du paiement, sinon votre achat risque d'être annulé.
L'activation devrait intervenir dans un délai de 1 à 3 heures pendant les heures d'ouverture normales, mais les nouveaux comptes peuvent prendre jusqu'à 24 heures. Les commandes passées pendant le week-end sont activées le lundi s'il n'y a personne de disponible.
Préalable :
- LV RYZEN KVM 512MB ou tranche supérieure
- Deux FQDN, par exemple teslamate.example.com et grafana.exemple.com
- Client SSH PuTTY
Se connecter à Stallion

Stallion est l'interface web que BuyVM a développé pour que vous puissiez charger votre tranche avec un système d'exploitation, voir le statut et gérer toutes les autres tâches sur votre serveur virtuel. Vous trouverez un lien vers Stallion en haut de la page lorsque vous vous connectez au portail client frantech.
Nous devrons configurer Docker manuellement car il n'y a pas de Docker pré-configuré mais ce n'est vraiment pas un problème.
Sélectionnez l'image et mettez la VM sous tension

Sélectionnez "Réinstallation" dans le menu des onglets. Maintenant, cliquez sur 'Redhat Based (7)' dans la liste à gauche. Cliquez sur 'Reinstall' à côté de 'CentOS 7.0 64bit' pour faire apparaître l'invite d'installation. Il vous sera demandé de saisir un mot de passe. Il s'agit de votre mot de passe root (ou d'administration) pour votre serveur virtuel. Veillez à le noter dans un endroit sûr.
Cliquez sur la case à cocher par : Oui, veuillez effacer toutes les données de votre nom d'hôte.com (ADRESSE IP).
Cliquez sur "Réinstaller" lorsque vous êtes prêt à procéder.
Installation manuelle de Docker
Installer le paquet yum-utils (qui fournit l'utilitaire yum-config-manager)
sudo yum install -y yum-utils
et mettre en place le stable dépôt.
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
Installer le nouvelle version de Docker Engine et de containerd :
sudo yum install docker-ce docker-ce-cli containerd.io
Démarrez Docker.
sudo systemctl start docker
Vérifier
sudo docker run hello-world
Configurer Docker pour qu'il démarre au démarrage
sudo systemctl enable docker
Pour désactiver ce comportement, utilisez désactiver
à la place :
sudo systemctl disable docker
Source : Docker
Configuration - docker-compose.yml
version : "3
services :
teslamate :
image : teslamate/teslamate:latest
redémarrage : toujours
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.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.rule=Host(`${FQDN_TM}`)"
- "traefik.http.routeurs.teslamate.middlewares=auth"
- "traefik.http.routeurs.teslamate.entrypoints=websecure"
- "traefik.http.routeurs.teslamate.tls.certresolver=tmhttpchallenge"
base de données :
image : postgres:12
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_BASIC_ENABLED=true
- GF_AUTH_ANONYMOUS_ENABLED=false
- GF_SERVER_ROOT_URL=https://${FQDN_GRAFANA}
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_GRAFANA}`)"
- "traefik.http.routeurs.grafana-insecure.middlewares=redirect"
- "traefik.http.routeurs.grafana.rule=Host(`${FQDN_GRAFANA}`)"
- "traefik.http.routers.grafana.entrypoints=websecure"
- "traefik.http.routers.grafana.tls.certresolver=tmhttpchallenge"
mosquitto :
image : eclipse-mosquitto:1.6
restart : always
ports :
- 127.0.0.1:1883:1883
volumes :
- mosquitto-conf:/mosquitto/config
- mosquitto-data:/mosquitto/data
proxy :
image : traefik:v2.1
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_GRAFANA=grafana.example.com
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 BuyShared lorsque vous avez créé votre serveur virtuel. Ceci est fait en contactant votre hébergeur ou en vous connectant à votre panneau de contrôle pour gérer vos enregistrements DNS et faire ajouter ces entrées.
Se connecter à TeslaMate
- 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. - Connectez-vous avec votre compte Tesla
- Les tableaux de bord Grafana sont disponibles à l'adresse suivante:https://grafana.example.com.
- 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.
Mise à niveau disponible ?
Je vérifie toujours les notes de mise à jour avant la mise à niveau.
docker-compose pull
[root@localhost ~]# docker-compose pull
Extraction de la base de données ... terminé
Extraction de teslamate ... terminé
Extraction de grafana ... terminé
Extraction de mosquitto ... terminé
Extraction du proxy ... terminé
docker-compose up
[root@localhost ~]# docker-compose up
Recréation de la racine_grafana_1 ...
Recréation de la base de données racine_1 ...
Recréation de root_grafana_1 ... terminé
Recréation de la base de données racine_1 ... terminé
Recréation de la base de données root_teslamate_1 ... terminé
....messages de mise à jour
16:57:45.350 [info] Tzdata a mis à jour la version 2019c en 2020a.
Votre installation est maintenant mise à niveau et vous pouvez fermer le terminal. Vous pouvez vérifier la version en vous connectant à votre panneau de contrôle TeslaMate.
Protection supplémentaire
Commençons par désactiver/désinstaller FirewallD :
sudo yum remove -y firewalld
Maintenant, installons/activons IPTables.
sudo yum install -y iptables-services
sudo systemctl start iptables
Configurer IPTables pour qu'il démarre automatiquement au moment du démarrage.
sudo systemctl enable iptables
IPTables sur CentOS 7 est livré avec un ensemble de règles par défaut, que vous pouvez visualiser avec la commande suivante.
sudo iptables -L -n
La sortie ressemblera :
Chaîne INPUT (politique ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chaîne FORWARD (politique ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chaîne OUTPUT (politique ACCEPT)
cible prot opt source destination
Vous pouvez voir que l'une de ces règles autorise le trafic SSH, votre session SSH est donc sécurisée.
Étant donné que ces règles sont des règles d'exécution et qu'elles seront perdues au redémarrage, il est préférable de les enregistrer dans un fichier à l'aide de :
sudo /usr/libexec/iptables/iptables.init save
Cette commande enregistrera les règles dans le fichier /etc/sysconfig/iptables
fichier. Vous pouvez modifier les règles à tout moment en changeant ce fichier avec votre éditeur de texte préféré.
Ensuite, autorisez le trafic supplémentaire à travers le pare-feu
Puisque vous utiliserez probablement votre nouveau serveur pour héberger des sites Web à un moment donné, vous devrez ajouter de nouvelles règles au pare-feu pour autoriser le trafic HTTP et HTTPS. Pour ce faire, ouvrez le fichier IPTables :
sudo nano /etc/sysconfig/iptables
Juste après ou avant la règle SSH, ajoutez les règles pour le trafic HTTP (port 80) et HTTPS (port 443), de sorte que cette partie du fichier apparaisse comme indiqué dans le bloc de code ci-dessous.
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
Enregistrez et fermez le fichier, puis rechargez IPTables.
sudo systemctl reload iptables
Une fois l'étape ci-dessus terminée, votre serveur CentOS 7 devrait maintenant être raisonnablement sécurisé et être prêt à être utilisé en production.
Autre sécurité ?
Je veux préfacer cette idée en disant que vous pouvez rencontrer des problèmes parce que le certificat SSL de TeslaMate exige que les sous-domaines soient dirigés vers l'adresse IP de votre VPS, mais si vous le cachez derrière Cloudflare, ce ne sera pas le cas et le SSL ne sera pas renouvelé lors des redémarrages de TeslaMate. Donc, je ne recommande plus d'activer CF jusqu'à ce qu'il soit entièrement pris en charge par le développeur. Je vais le laisser ici pour alimenter la réflexion.
Il s'agit d'une étape supplémentaire qui n'est pas nécessaire pour commencer mais qui peut apporter un peu plus de sécurité à vos sous-domaines. Inscrivez-vous à Cloudflare! Il s'agit d'un service gratuit qui protège et accélère votre site web.
- Cliquez sur "DNS".
- Pour votre grafana (A Record) :
Définir Statut du proxy à Proxied. - Aussi, pour votre teslamate (A Record) :
Définir Statut du proxy à Proxied.
Vous remarquerez maintenant que si vous faites un ping sur vos sous-domaines, ils ont maintenant un ping plus faible et une adresse IP différente parce que vous acheminez maintenant votre trafic à travers le réseau Cloudflare et votre adresse IP avec BuyVM est maintenant cachée lors des requêtes DNS.
J'ai testé l'activation du mode proxy depuis un certain temps maintenant et je n'ai rencontré aucun problème jusqu'à présent.
J'espère que ce guide de configuration vous a été utile. 🙂
Installation du Teslamate : Conclusion
En conclusion, l'installation de TeslaMate sur votre BuyVM Slice est un moyen rentable et efficace de surveiller les données de votre véhicule Tesla. Avec notre guide étape par étape, vous pouvez facilement installer et configurer TeslaMate sur votre machine virtuelle sans aucun problème.
En suivant ces instructions, vous serez en mesure de profiter des avantages de TeslaMate auto-hébergé tout en maintenant vos dépenses au minimum. Nous espérons que cet article a été utile pour vous guider tout au long du processus, et nous vous souhaitons la meilleure des chances dans votre parcours d'installation de TeslaMate.