내 서버(또는 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 패키지를 설치해야 합니다.
- NAS 관리 화면에서 패키지 센터(Package Center)를 엽니다.
- 검색창에 "Container Manager"를 입력합니다. (구버전 DSM이라면 "Docker"로 검색)
- 설치 버튼을 눌러 설치를 진행합니다.
2단계. 프로젝트 폴더 만들고 설정 파일 준비하기
테슬라메이트는 여러 프로그램(테슬라메이트 본체, 데이터베이스, 그라파나 대시보드 등)이 함께 동작하는 구조라서, docker-compose 파일 하나로 한 번에 관리하는 것이 편합니다.
- File Station을 열고 원하는 공유 폴더 아래에
teslamate라는 새 폴더를 만듭니다. - 그 폴더 안에
docker-compose.yml이라는 이름의 빈 텍스트 파일을 만듭니다. (메모장 등에서 작성 후 업로드해도 됩니다) - 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에서 프로젝트 실행하기
- Container Manager를 열고 왼쪽 메뉴에서 프로젝트(Project)를 클릭합니다.
- 생성 버튼을 눌러 새 프로젝트를 만들고, 경로는 2단계에서 만든
teslamate폴더를 선택합니다. - "기존 docker-compose.yml 사용"을 선택하면 방금 작성한 내용이 자동으로 불러와집니다.
- 다음, 완료를 눌러 빌드 및 실행을 시작합니다. 처음 실행할 때는 이미지를 다운로드하기 때문에 몇 분 정도 걸릴 수 있습니다.
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 파일을 완성해두면 이후에는 신경 쓸 일이 거의 없으니 차근차근 따라 해보세요.
댓글
댓글 쓰기