Installer TeslaMate sur un NAS Synology en 5 minutes

Le week-end dernier, j’ai aidé un utilisateur du Forum de NAS à installer TeslaMate sur son Synology. Vous allez voir, c’est relativement simple, cependant il y a quelques petites subtilités. C’est pour cette raison que je vous propose aujourd’hui ce guide.

TeslaMate Synology - Installer TeslaMate sur un NAS Synology en 5 minutes

TeslaMate et NAS Synology

TeslaMate est comme un carnet de bord numérique gratuit et open source que vous pouvez installer sur un NAS, un Raspberry Pi, etc. L’application fonctionne en interrogeant l’API de Tesla et en enregistrant les données renvoyées dans une base de données. L’application permet d’offrir des visualisations détaillées et de nombreuses statistiques sur l’utilisation de la voiture électrique. L’outil est très apprécié pour ses nombreuses informations sur l’état de la voiture, l’historique de charge, des trajets, etc.

Installer Container Manager

Tout d’abord, vous devez avoir le paquet Container Manager (docker) installé. Cela se passe par le Centre de Paquets. Ensuite, depuis File Station, déplacez vous dans le dossier docker et créez un nouveau dossier TeslaMate. Déplacez vous dans ce nouveau dossier et créez 5 sous-dossiers : import, teslamate-db, teslamate-grafana-data, mosquitto-conf et mosquitto-data.

Synology Filestation TeslaMate

Au niveau du dossier TeslaMate, faites un clic-droit puis choisissez Propriétés. Allez sur l’onglet Permission et cliquez sur le bouton Créer. En face de Utilisateur ou groupe, vous sélectionnerez SYSTEM et dans la section Permission, vous cochez les cases Lire et Écrire.

ajout system - Installer TeslaMate sur un NAS Synology en 5 minutes

Ensuite, vous cliquez sur le bouton Effectuer

autorisation SYSTEM

Une fois de retour sur l’onglet Permission, cochez la case en bas « Appliquer à ce dossier, ces sous-dossiers et fichiers » et cliquez sur le bouton Sauvegarder. Toujours à la racine de TeslaMate, vous déposez ce fichier compose.yaml dont voici le contenu :

services:
  teslamate:
    image: teslamate/teslamate:latest
    restart: always
    environment:
      - ENCRYPTION_KEY=aZ3Rt4yu$ #remplacer pour chiffrer les jetons de l'API Tesla
      - DATABASE_USER=teslamate
      - DATABASE_PASS=q$3eRt+uY #remplacer avec votre propre mot de passe
      - DATABASE_NAME=teslamate
      - DATABASE_HOST=database
      - MQTT_HOST=mosquitto
      - TM_TZ=Europe/Paris
    ports:
      - 4075:4000
    volumes:
      - ./import:/opt/app/import
    cap_drop:
      - all

  database:
    image: postgres:15
    restart: always
    environment:
      - POSTGRES_USER=teslamate
      - POSTGRES_PASSWORD=q$3eRt+uY #remplacer avec votre propre mot de passe
      - POSTGRES_DB=teslamate
    volumes:
      - ./teslamate-db:/var/lib/postgresql/data

  grafana:
    image: teslamate/grafana:latest
    restart: always
    environment:
      - DATABASE_USER=teslamate
      - DATABASE_PASS=q$3eRt+uY #remplacer avec votre propre mot de passe
      - DATABASE_NAME=teslamate
      - DATABASE_HOST=database
    ports:
      - 3000:3000
    volumes:
      - ./teslamate-grafana-data:/var/lib/grafana

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

Rentrons un peu dans le détail… Pour faire fonctionner, TeslaMate a besoin de 3 autres applications (container) :

  • Grafana : pour les tableaux de bord et graphiques ;
  • PostgreSQL : pour stocker les données en local sur le NAS ;
  • Mosquitto : serveur de messagerie MQTT (Message Queuing Telemetry Transport).

TeslaMate utilise par défaut le port 4000, mais ici j’ai fait le choix d’utiliser le port 4075. Pour la base de données, nous utiliserons le dossier teslamate-db avec le nom d’utilisateur teslamate avec le mot de passe q$3eRt+uY.

Ouvrez Container Manager et allez sur le menu de gauche Projet, puis appuyez sur le bouton Créer. Donnez un nom à votre projet (ici : teslamate) et sélectionnez le répertoire TeslaMate contenant le fichier compose.yaml fraichement téléchargé. Le système détecte automatiquement la présence du fichier, cliquez sur le bouton OK. Vous devriez avoir quelque chose de ce style :

teslamate container manager - Installer TeslaMate sur un NAS Synology en 5 minutes

Il ne reste plus qu’à cliquer sur le bouton Suivant, puis encore Suivant et enfin le bouton Effectué. Maintenant, on patiente…

terminal teslamate - Installer TeslaMate sur un NAS Synology en 5 minutes

C’est terminé, vous pouvez appuyer le bouton Fermer.

Accéder à TeslaMate

Ouvrez un nouvel onglet dans votre navigateur et tapez dans la barre d’adresse de votre navigateur :

  • http://AdresseIPduNAS:4075
  • http://NomduNAS:4075

La mire ci-dessous devrait apparaitre :

teslamate docker ok - Installer TeslaMate sur un NAS Synology en 5 minutes
Si vous utilisez la fonction pare-feu (firewall) sur votre NAS Synology, pensez à ajouter une règle pour le port 4075 😉 Pour récupérer les jetons, il faudra passer par un outil tiers (le lien est sous le bouton Connexion).

Enfin pour terminer, allez dans Réglages (en haut à droite) puis tout en bas de la page vous saisirez l’adresse de Grafana dans le champs Tableaux de bord :

  • http://AdresseIPduNAS:3000
  • http://NomduNAS:3000

le mot de passe par défaut est admin.

Voila, c’est terminé !