내 서버(또는 NAS) 에 테슬라메이트(teslamate) 차량 관리 앱 설치하기

🚗 테슬라메이트(TeslaMate)란?

테슬라메이트는 내 테슬라 차량의 주행 데이터, 배터리 상태, 충전 기록, 위치 정보 등을 자동으로 수집하고 예쁜 그래프로 보여주는 오픈소스 프로그램입니다. 클라우드 서비스에 데이터를 맡기지 않고, 집에 있는 시놀로지 NAS에 직접 설치해서 운영하면 내 차량 데이터를 스스로 관리할 수 있다는 장점이 있습니다. 이 글에서는 시놀로지 NAS의 Container Manager(구 Docker) 패키지를 이용해서 테슬라메이트를 설치하는 방법을 처음부터 끝까지 따라 하기 쉽게 정리해봤습니다.

📋 시작하기 전에 준비할 것

  • 시놀로지 NAS (DSM 7.0 이상 권장)
  • NAS의 여유 메모리 2GB 이상
  • 테슬라 계정 (차량 데이터를 가져오기 위해 필요)
  • NAS의 IP 주소 (예: 192.168.0.10)

1단계. Container Manager 패키지 설치하기

가장 먼저 시놀로지 NAS에서 도커(Docker) 컨테이너를 실행할 수 있게 해주는 Container Manager 패키지를 설치해야 합니다.

  1. NAS 관리 화면에서 패키지 센터(Package Center)를 엽니다.
  2. 검색창에 "Container Manager"를 입력합니다. (구버전 DSM이라면 "Docker"로 검색)
  3. 설치 버튼을 눌러 설치를 진행합니다.



2단계. 프로젝트 폴더 만들고 설정 파일 준비하기

테슬라메이트는 여러 프로그램(테슬라메이트 본체, 데이터베이스, 그라파나 대시보드 등)이 함께 동작하는 구조라서, docker-compose 파일 하나로 한 번에 관리하는 것이 편합니다.

  1. File Station을 열고 원하는 공유 폴더 아래에 teslamate라는 새 폴더를 만듭니다.
  2. 그 폴더 안에 docker-compose.yml 이라는 이름의 빈 텍스트 파일을 만듭니다. (메모장 등에서 작성 후 업로드해도 됩니다)
  3. https://docs.teslamate.org/  에서 현재 추천하는 docker-compose.yml 을 입력하시는걸 추천합니다.


만든 docker-compose.yml 파일에 아래 내용을 붙여넣습니다.

services:
  teslamate:
    image: teslamate/teslamate:latest
    restart: always
    environment:
      - ENCRYPTION_KEY=sdrlkwsdf390rewfklesfhsdlrwejlkfsdaf  #아무 글자나 길게 마구쓴다.
      - DATABASE_USER=teslamate
      - DATABASE_PASS=DB비밀번호_설정 #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=DB비밀번호_설정 #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=DB비밀번호_설정 #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:

⚠️ 위에서 DATABASE_PASS, POSTGRES_PASSWORD, ENCRYPTION_KEY 값은 반드시 본인만 아는 값으로 바꿔주세요. teslamate, grafana, database 항목의 비밀번호는 서로 똑같이 맞춰야 합니다.

3단계. Container Manager에서 프로젝트 실행하기

  1. Container Manager를 열고 왼쪽 메뉴에서 프로젝트(Project)를 클릭합니다.
  2. 생성 버튼을 눌러 새 프로젝트를 만들고, 경로는 2단계에서 만든 teslamate 폴더를 선택합니다.
  3. "기존 docker-compose.yml 사용"을 선택하면 방금 작성한 내용이 자동으로 불러와집니다.
  4. 다음, 완료를 눌러 빌드 및 실행을 시작합니다. 처음 실행할 때는 이미지를 다운로드하기 때문에 몇 분 정도 걸릴 수 있습니다.


4단계. 테슬라 계정으로 로그인하기

모든 컨테이너가 정상적으로 실행되면, 웹 브라우저에서 아래 주소로 접속합니다.

http://NAS의IP주소:4000 (예: http://192.168.0.10:4000)

접속하면 테슬라 계정 로그인 화면이 나옵니다. 본인의 테슬라 계정(이메일/비밀번호)으로 로그인하면 차량 정보를 자동으로 가져오기 시작합니다.



5단계. 그라파나(Grafana) 대시보드 확인하기

데이터가 쌓이기 시작하면 아래 주소로 접속해서 예쁜 그래프로 확인할 수 있습니다.

http://NAS의IP주소:3000

처음 접속 시 아이디/비밀번호는 기본값인 admin / admin이며, 로그인 후 비밀번호를 바로 변경하는 것을 추천합니다.



💡 알아두면 좋은 팁

  • 외부에서 보다 안전하게 접속하시려면 Tailscale 같은 VPN을 사용하는 것이 안전합니다. 위에 보이는 저 주소가 tailscale 도메인으로 저만 접속 가능한 주소입니다.
  • teslamate-db 폴더에는 소중한 주행 데이터가 저장되므로, NAS의 백업 기능(Hyper Backup 등)으로 주기적으로 백업해두는 것을 추천합니다.
  • 테슬라 계정에 2단계 인증(OTP)이 설정되어 있어도 정상적으로 로그인할 수 있습니다.

마무리

이렇게 시놀로지 NAS에 테슬라메이트를 설치하면 내 차량의 모든 주행 기록과 배터리 상태를 나만의 서버에서 안전하게 관리할 수 있습니다. 처음에는 설정이 조금 복잡해 보일 수 있지만, 한 번 docker-compose 파일을 완성해두면 이후에는 신경 쓸 일이 거의 없으니 차근차근 따라 해보세요.

댓글

가장 많이 본 글