Teslamate는 테슬라의 정보를 수집하여, DB에 저장 후 Grafana (다양한 데이터 소스를 연결해서 시각화 하고 모니터링할 수 있는 도구)를 통해 보여주는 도구 입니다.
보통 NAS인 시놀로지나, 라즈베리파이에서 설치 후 운영을 많이 합니다.
관련된 자료들은 많지만, 외부에서 도메인을 통해 접근하는 방안은 못보아서 작성하게 되었습니다.
이번 문서는 Synology NAS에 Container Manager를 이용하여 테슬라메이트를 설치하는 방안입니다.
Synology는 이하 시놀로지로 표현합니다.
Telsamate는 이하 테슬라메이트로 표현합니다.
- Container Manager 설치
전에 시놀로지에서는 Docker 란 이름으로 지원하다가, Docker Compose를 지원하게 되면서 아예 이름을 바꾸었습니다.
패키지 센터에서 “Container Manager”를 검색해서 설치를 진행합니다.
설치가 다 되면 “Container Manager”를 실행합니다.
- 테슬라메이트 설치
메인화면에서 “프로젝트"를 선택합니다.
생성을 선택하여 진행합니다.
테슬라메이트를 설치하게 되면 4개의 Docker들이 설치되게 됩니다.
(teslamate, database, grafana, mosquitto)
프로젝트 이름 : 서비스를 구분 지을 수 있도록 설정합니다.
경로 : NAS드라이브에 저장할 곳을 지정
원본 : yml 파일을 만들기로 선택하고, 아래의 소스를 복사, 붙여넣기 합니다.
내부 변수들은 선택에 따라 바꾸셔도 상관없으며, 그냥 그대로 써도 무방합니다.
단 아래의 샘플 yml 파일에서 DBMS암호키 (teslamate, database, grafana)는 본인의 암호로 작성합니다.
services:
teslamate:
image: teslamate/teslamate:latest
restart: always
environment:
- ENCRYPTION_KEY=secretkey
- DATABASE_USER=teslamate
- DATABASE_PASS= #DBMS 암호키를 입력합니다.
- DATABASE_NAME=teslamate
- DATABASE_HOST=database
- MQTT_HOST=mosquitto
- TZ=Asia/Seoul # 한국 시간대 추가
- VIRTUAL_HOST=localhost # 시놀로지 환경 최적화
- DATABASE_POOL_SIZE=15 # 연결 풀 크기 증가
- DATABASE_TIMEOUT=90000 # 타임아웃 증가 (90초)
ports:
- 4000:4000
volumes:
- ./import:/opt/app/import
cap_drop:
- all
depends_on:
database:
condition: service_healthy
mosquitto:
condition: service_started
database:
image: postgres:17-trixie
restart: always
environment:
- POSTGRES_USER=teslamate
- POSTGRES_PASSWORD= #DBMS 암호키를 입력합니다.
- POSTGRES_DB=teslamate
- TZ=Asia/Seoul # 데이터베이스도 한국 시간
volumes:
- teslamate-db:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U teslamate -d teslamate"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
grafana:
image: teslamate/grafana:latest
restart: always
environment:
- DATABASE_USER=teslamate
- DATABASE_PASS= #암호키를 입력합니다.
- DATABASE_NAME=teslamate
- DATABASE_HOST=database
- TZ=Asia/Seoul # 그라파나도 한국 시간
ports:
- 3000:3000
volumes:
- teslamate-grafana-data:/var/lib/grafana
depends_on:
database:
condition: service_healthy
mosquitto:
image: eclipse-mosquitto:2
restart: always
command: mosquitto -c /mosquitto-no-auth.conf
environment:
- TZ=Asia/Seoul # MQTT도 한국 시간
# ports:
# - 1883:1883
volumes:
- mosquitto-conf:/mosquitto/config
- mosquitto-data:/mosquitto/data
volumes:
teslamate-db:
teslamate-grafana-data:
mosquitto-conf:
mosquitto-data:
이대로 진행되면 아래와 같이 “웹 포털 설정"이 나옵니다.
저의 경우 앞선 문서에 있는 NPMPlus (Reverse Proxy)를 통해 웹을 연결하므로 넘어가지만, 시놀로지 자체로만 이용한다면 Web Station을 설치해서 진행합니다. 이때는 홈랩 내부의 IP:4000 식으로 접근하면 됩니다.
이제 모든 설정이 끝났습니다. “완료"하게 되면 자동으로 image 를 가져와서 Docker compose를 이용해 컨테이너들을 설치합니다.
프로젝트에서 해당 컨테이너(서비스)들의 상태를 확인할 수 있습니다.
접속은 “시놀로지IP:4000”으로 하여 접속합니다.
초기 설정은 다음 문서에서 다루겠습니다.
'시스템' 카테고리의 다른 글
Reverse Proxy NPMplus (nginx-proxy-manager) 설치 가이드 (0) | 2025.10.16 |
---|---|
2025년 Homelab 구성 (0) | 2025.01.19 |
업무에 도움이 되는 사이트 정리 (0) | 2024.01.11 |
[DB] pump를 사용한 export, import 스크립트 (0) | 2024.01.01 |
HP server DIsk 증설 정리 (0) | 2021.03.28 |
Mysql Table 체크 (0) | 2020.10.25 |
HP-UX 시스템 (0) | 2018.01.25 |