2020년 11월 1일

한대의 서버에 테슬라메이트 3개 가동하기(~n개까지 무한가능)

 결론은 서로 다른 디렉토리에서의 docker-compose.yml 파일을 쓰면 가능하다.



[1번]

/home/ID/models/docker-compose.yml 파일을 만든다.


[2번]

/home/ID/modelx/docker-compose.yml 파일을 만든다.


[3번]

/home/ID/model3/docker-compose.yml 파일을 만든다.


docker-compose.yml 파일은 아래 색칠 부분만 각자 다르게 설정해야한다. 어떤값이든 상관없지만. 겹치지 않도록 9개의 서로다른 포트번호를 쓴다.  4000 ~ 60000 번 사이는 아무거나 상관없다.(물론 방화벽에서 사용하는 포트는 열어줘야하겠다)

docker-compose.yml (예시) 분홍색숫자 3개가 서버포트이며, 각각의 설정파일마다 서로 다르게 해야한다.

version: "3"

services:
  teslamate:
    image: teslamate/teslamate:latest
    restart: always
    environment:
      - DATABASE_USER=teslamate
      - DATABASE_PASS=secret
      - 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=secret
      - POSTGRES_DB=teslamate
    volumes:
      - teslamate-db:/var/lib/postgresql/data

  grafana:
    image: teslamate/grafana:latest
    restart: always
    environment:
      - DATABASE_USER=teslamate
      - DATABASE_PASS=secret
      - DATABASE_NAME=teslamate
      - DATABASE_HOST=database
    ports:
      - 3000:3000
    volumes:
      - teslamate-grafana-data:/var/lib/grafana

  mosquitto:
    image: eclipse-mosquitto:1.6
    restart: always
    ports:
      - 1883:1883
    volumes:
      - mosquitto-conf:/mosquitto/config
      - mosquitto-data:/mosquitto/data

volumes:
  teslamate-db:
  teslamate-grafana-data:
  mosquitto-conf:
  mosquitto-data:


예를들어  5000, 5001, 5002  로 했을 경우

http://내서버IP:5000   메인화면

http://내서버IP:5001   그라파나 데이터 표 분석화면

5002 는 데이터수집용이며 따로 사용되지는 않음.



이제 관리자 권한일 경우 아래와같이 바로실행 가능하겠다.

[models]

# cd /home/ID/models

$ docker-compose -f /home/ID/models/docker-compose.yml up -d


[modelx]

# cd /home/ID/modelx

$ docker-compose -f /home/ID/modelx/docker-compose.yml up -d


[model3]

# cd /home/ID/model3

$ docker-compose -f /home/ID/model3/docker-compose.yml up -d


백업이나 복원시에도 -f /설정파일경로  는 반드시 추가해주고 그 뒤로 나머지 명령어를 적어야하겠다.

댓글 2개:

  1. 안녕하세요 좋은정보 감사합니다.
    알려주신대로 따라해봤는데 마지막으로 up 한 포트로만 접속이 됩니다
    제가 사용한 서버는 시놀로지 입니다.
    놓친 부분이 있을까요?
    감사합니다.

    답글삭제
    답글
    1. 최초 실행시 설정값이 적용되어 컨테이너가 만들어집니다. 시놀로지를 사용하신다면, 도커앱에서 테슬라메이트 컨테이너를 찾아서 일시정지한 뒤에, 편집을 통해 포트번호와 환경변수를 설정할 수 있습니다. 해당값을 수정한 뒤에 실행하시면 됩니다.

      삭제

추천 게시물

php 로 챗GPT api 사용방법. 라이브러리 그딴거 없이 누구나 쉽게

진짜 최고로 간단하게 만들어 봤습니다. 나의 php소스코드 윗부분에 다음의 함수를 붙여넣는다.  API키만 내가 받은걸로 넣기. function fnGPTComment ( $memo ) {       $api_key = '나의 API키...