Store API tokens encrypted in the database. During the database migration a randomly generated key will be used encrypt the tokens if no ENCRYPTION_KEY environment variable was provided. If the application is started without the presence of an ENCRYPTION_KEY (or if the key failed to decrypt the existing tokens), the UI will display a warning with further instructions.
3.4 KiB
title, sidebar_label
| title | sidebar_label |
|---|---|
| Docker install | Docker |
This document provides the necessary steps for installation of TeslaMate on a any system that runs Docker. For a walkthrough that provides the necessary steps for manual installation see Manual Install.
This setup is recommended only if you are running TeslaMate on your home network, as otherwise your Tesla API tokens might be at risk. If you intend to expose TeslaMate directly to the internet check out the advanced guides.
Requirements
- Docker (if you are new to Docker, see Installing Docker and Docker Compose)
- A Machine that's always on, so TeslaMate can continually fetch data
- At least 1 GB of RAM on the machine for the installation to succeed.
- External internet access, to talk to tesla.com
Instructions
-
Create a file called
docker-compose.ymlwith the following content:version: "3" services: teslamate: image: teslamate/teslamate:latest restart: always environment: - ENCRYPTION_KEY= #insert a secure key to encrypt your Tesla API tokens - DATABASE_USER=teslamate - DATABASE_PASS= #insert your secure database password! - DATABASE_NAME=teslamate - DATABASE_HOST=database - MQTT_HOST=mosquitto ports: - 4000:4000 volumes: - ./import:/opt/app/import cap_drop: - all database: image: postgres:13 restart: always environment: - POSTGRES_USER=teslamate - POSTGRES_PASSWORD= #insert your secure database password! - POSTGRES_DB=teslamate volumes: - teslamate-db:/var/lib/postgresql/data grafana: image: teslamate/grafana:latest restart: always environment: - DATABASE_USER=teslamate - DATABASE_PASS= #insert your secure database password! - 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 volumes: teslamate-db: teslamate-grafana-data: mosquitto-conf: mosquitto-data: -
Choose a secure encryption key that will be used to encrypt your Tesla API tokens (insert as
ENCRYPTION_KEY). -
Choose your secure database password and insert it at every occurence of
DATABASE_PASSandPOSTGRES_PASSWORD -
Start the docker containers with
docker-compose up. To run the containers in the background add the-dflag:docker-compose up -d
Usage
- Open the web interface http://your-ip-address:4000
- Sign in with your Tesla account
- The Grafana dashboards are available at http://your-ip-address:3000. Log in with the default user
admin(inital passwordadmin) and enter a secure password.
Update
To update the running TeslaMate configuration to the latest version, run the following commands:
docker-compose pull
docker-compose up -d