OpenLogs

All tools

TeslaMate

Data logger and dashboards for Tesla vehicles that keep trips, charges and battery data.

Replaces

Paid vehicle data logging services, such as TeslaFi.

All open-source alternatives to TeslaFi

Difficulty

Difficulty: Medium

4 services (1 database or broker: postgres), 5 volume mounts, no env values to set, no elevated host access. Heuristic score 5 of 11: medium.

Stack

Elixir (language), PostgreSQL (database)

Deployment

docker_compose

Requirements

Not stated.

License

AGPL-3.0 (OSI-approved open source)

Read from github.com/teslamate-org/teslamate/blob/9f4098e/LICENSE

Business model

Unknown

The README at the pinned commit does not state a business model, so it stays unknown.

Source: github.com/teslamate-org/teslamate/blob/9f4098e/README.md, read on .

Repository

teslamate-org/teslamate

GitHub stats

Stars
9,157
Forks
1,022
Open issues and pull requests
67
Last push
2026-10-21
Latest release
v4.3.0
Released
2026-09-29

From the GitHub API on . These numbers are a snapshot, not live. GitHub detected the license as AGPL-3.0.

Compose file

Config check passed docker compose config exited 0 on this exact file on 2026-10-22.
docker.md Version 1
services:
  teslamate:
    image: teslamate/teslamate:latest
    restart: always
    environment:
      - ENCRYPTION_KEY=secretkey #replace with a secure key to encrypt your Tesla API tokens
      - DATABASE_USER=teslamate
      - DATABASE_PASS=password #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:18-trixie
    restart: always
    environment:
      - POSTGRES_USER=teslamate
      - POSTGRES_PASSWORD=password #insert your secure database password!
      - POSTGRES_DB=teslamate
    volumes:
      - teslamate-db:/var/lib/postgresql

  grafana:
    image: teslamate/grafana:latest
    restart: always
    environment:
      - DATABASE_USER=teslamate
      - DATABASE_PASS=password #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:

From the app's own repository: github.com/teslamate-org/teslamate/blob/9f4098e/website/docs/installation/docker.md.

Compose example from the project's own docs: teslamate-org/teslamate:website/docs/installation/docker.md.

Install

  1. Docker with the Compose plugin (github.com/teslamate-org/teslamate/blob/9f4098e/website/docs/installation/docker.md#L26-L83)

    A host with Docker and the Docker Compose plugin. This entry runs from a compose file.

  2. Save the code block as docker-compose.yml (github.com/teslamate-org/teslamate/blob/9f4098e/website/docs/installation/docker.md)

    Use the compose file shown above.

  3. What the compose file check ran with (github.com/teslamate-org/teslamate/blob/9f4098e/website/docs/installation/docker.md#L26-L83)

    This compose file is copied unchanged from the code block in https://github.com/teslamate-org/teslamate/blob/9f4098eeb8460c7d56235dd8d3fe0afedcdf682b/website/docs/installation/docker.md#L26-L83. The block sits inside a list in the page, so the indent of its lines was removed, as the rendered page shows it. The check ran on that block alone. The Docker installation guide tells the reader to create a docker-compose.yml with this content.

  4. Start it (github.com/teslamate-org/teslamate/blob/9f4098e/website/docs/installation/docker.md)
    docker compose up -d
  5. Open the app (github.com/teslamate-org/teslamate/blob/9f4098e/website/docs/installation/docker.md)

    Open http://localhost:4000. The compose file publishes host port 4000 for the teslamate service.

Compose file check: config_ok on 2026-10-22.

Gotchas and maintenance

Gotchas

Signals

  • Open issues and pull requests: 67
  • Last push: 2026-10-21 (1 days before this page was built)
  • Latest release: v4.3.0 on 2026-09-29 (23 days before this page was built)