TeslaMate is a data logger for your Tesla car. It will record all the information sent by your car such as charging, trips, sleep, updates etc. and present it to you with many statistics and beautiful graphics thanks to Grafana. In this step by step guide I will show you how to install TeslaMate on your Synology NAS with Docker & Portainer.
STEP 1
Please Support My work by Making a Donation.
STEP 2
InstallĀ Portainer using my step by step guide. If you already have Portainer installed on your Synology NAS, skip this STEP. Attention: Make sure you have installed the latest Portainer version.
STEP 3
Generate your own Tesla API Token and Refresh Token by downloading the Tesla Token application for AndroidĀ or Apple iOS. You will need the API Token and Refresh Token later at STEP 16.
STEP 4
Go toĀ File StationĀ and open the docker folder. Inside the docker folder, create one new folder and name itĀ teslamate. Follow the instructions in the image below.
Note: Be careful to enter only lowercase, not uppercase letters.
STEP 5
Now create five new folders inside the teslamate folder that you created at STEP 4Ā and name them datagrafana, db, mosqconf, mosqdata, mosqlogs. Follow the instructions in the image below.
Note: Be careful to enter only lowercase, not uppercase letters.
STEP 6
Right click on the teslamate folder that you have previously created at STEP 4 then click Properties. Follow the instructions in the image below.
STEP 7
Go to the Permission tab then click Advanced options. From the drop-down menu choose “Make inherited permissions explicit“. Follow the instructions in the image below.
STEP 8
Select Everyone then click the Edit tab. Follow the instructions in the image below.
STEP 9
Check all Read and Write Permissions. Click Done. Follow the instructions in the image below.
STEP 10
After you click Done on STEP 9, check “Apply to this folder, sub-folders and files“. Click Save. Follow the instructions in the image below.
STEP 11
Log into Portainer using your username and password. On the left sidebar in Portainer, click on StacksĀ thenĀ + Add stack. Follow the instructions in the image below.
STEP 12
In the Name field type in teslamate. Follow the instructions in the image below.
services: teslamate: image: teslamate/teslamate:latest container_name: TeslaMate restart: on-failure:5 environment: - ENCRYPTION_KEY=MariushostingMariushostingMari13 - DATABASE_USER=teslamate - DATABASE_PASS=mariushosting - DATABASE_NAME=teslamate - DATABASE_HOST=database - MQTT_HOST=mosquitto ports: - 20002:4000 cap_drop: - all database: image: postgres:14 container_name: TeslaMate-DB restart: on-failure:5 environment: - POSTGRES_USER=teslamate - POSTGRES_PASSWORD=mariushosting - POSTGRES_DB=teslamate volumes: - /volume1/docker/teslamate/db:/var/lib/postgresql/data:rw grafana: image: teslamate/grafana:latest container_name: TeslaMate-GRAFANA restart: on-failure:5 environment: - DATABASE_USER=teslamate - DATABASE_PASS=mariushosting - DATABASE_NAME=teslamate - DATABASE_HOST=database ports: - 20003:3000 volumes: - /volume1/docker/teslamate/datagrafana:/var/lib/grafana:rw mosquitto: image: eclipse-mosquitto:2 container_name: TeslaMate-MOSQUITTO restart: on-failure:5 command: mosquitto -c /mosquitto-no-auth.conf # ports: # - 1883:1883 volumes: - /volume1/docker/teslamate/mosqconf:/mosquitto/config:rw - /volume1/docker/teslamate/mosqdata:/mosquitto/data:rw - /volume1/docker/teslamate/mosqlogs:/mosquitto/log:rw
Note: Before you paste the code above in the Web editor area below, change the value for ENCRYPTION_KEY and add your own Encryption Key. MariushostingMariushostingMari13 is an example for an ENCRYPTION_KEY. You should invent your own Value. Add 32Ā random characters, both letters and numbers.
Note: Before you paste the code above in the Web editor area below, change the values for DATABASE_PASS, POSTGRES_PASSWORD, DATABASE_PASS and type in your own password. mariushosting is an example for a password. All values should have the same identical password.
STEP 13
Scroll down on the page until you see a button namedĀ Deploy the stack. Click on it. Follow the instructions in the image below. The installation process can take up to a few minutes. It will depend on your Internet speed connection.
STEP 14
If everything goes right, you will see the following message at the top right of your screen: āSuccess Stack successfully deployedā.
STEP 15
Go back toĀ STEP 1Ā or you will deal with karma š
STEP 16
The installation process can take up to a few seconds/minutes. It will depend on your Internet speed connection. Now open your browser and type inĀ http://Synology-ip-address:20002 Paste your own API Access Token and Refresh Token that you have previously generated at STEP 3. Click Sign in. Follow the instructions in the image below. Note: A big thank you to the mariushosting fan Petr who gave me his Tesla API Key for testing.
STEP 17
If everything goes right, you will see the following message at the top of your screen: āSigned in successfullyā.
STEP 18
Now open your browser and type inĀ http://Synology-ip-address:20003 Type in the default username and password, then click Log in.
STEP 19
After you click Log in on STEP 18, you will be prompted to change the password. Choose your favorite password, then click Submit. Follow the instructions in the image below.
STEP 20
Now go back to your TeslaMate page at http://Synology-ip-address:20002 and click Settings at the top right of the page. Follow the instructions in the image below.
STEP 21
Scroll down to the bottom of the page. Follow the instructions in the image below.
STEP 22
On the Dashboards field type in http:// followed by your NASIP:20003Ā Follow the instructions in the image below.
STEP 23
On the TeslaMate page a new menu called Dashboards will appear at the top. Here you have different statistics for your Tesla car. Click on a statistic you are interested in to see the data.
STEP 24
Once you click on a statistic, you will be automatically redirected to the respective grafana dashboard graphical interface. You will see some examples below. šNote: The data is not real-time data. The information is updated every 5 minutes or so. And you need to drive your car, charge your battery etc. in order to have any information logged for you to assess.
Overview Statistic.
Locations statistic.
Drive Stats statistic.
Efficiency statistic.
Current State statistic.
Charge Level statistic.
Enjoy TeslaMate!
Note: If you want to run the TeslaMate container over HTTPS, check out my guide on How to Run Docker Containers Over HTTPS. If you decide to use your TeslaMate over https, remember to change the Dashboards address at STEP 22 with the respective grafana https link. So you will need 2 Reverse Proxies, one for the TeslaMate at port 20002 and one for Grafana at port 20003. In order to make TeslaMate and Grafana work over https, it’s also mandatory to set up WebSocket.
Note: Can I run Docker on my Synology NAS?Ā See the supported models.
Note: How to Back Up Docker Containers on your Synology NAS.
Note: Find outĀ how to update the TeslaMate containerĀ with the latest image.
Note: How to Free Disk Space on Your NAS if You Run Docker.
Note: How to Schedule Start & Stop For Docker Containers.
Note: How to Activate Email Notifications.
Note: How to Add Access Control Profile on Your NAS.
Note: How to Change Docker Containers Restart Policy.
Note: How to Use Docker Containers With VPN.
Note: Convert Docker Run Into Docker Compose.
Note: How to Clean Docker.
Note: How to Clean Docker Automatically.
Note: Best Practices When Using Docker and DDNS.
Note: Some Docker Containers Need WebSocket.
Note: Find out the Best NAS Models For Docker.
Note: Activate Gmail SMTP For Docker Containers.
This post was updated on Tuesday / December 17th, 2024 at 2:46 PM