Header Ads Widget

Home Assistant에서 애드온으로 Docker에 직접 컨테이너 추가하는 방법

 Docker에 직접 필요한 기능을 설치하면 애드온 없이도 거의 모든 기능을 사용할 수 있습니다. 🚀

그러면 필요한 기능들을 Docker 컨테이너로 직접 설정하는 방법을 하나씩 도와드릴게요.



🛠 1. Docker에서 직접 설치할 주요 기능

현재 Home Assistant Container (Docker 버전) 을 사용 중이므로, 필요한 기능을 개별적으로 Docker 컨테이너로 추가해야 합니다.

필요한 기능 & 설치 방법:
ESPHome → Docker 컨테이너로 직접 실행
Node-RED → Docker 컨테이너로 직접 실행
Mosquitto MQTT 브로커 → Docker 컨테이너로 직접 실행
Zigbee2MQTT → Docker 컨테이너로 직접 실행
Samba 공유 (파일 관리 편리) → Docker 컨테이너로 직접 실행
Google Drive Backup (자동 백업) → Docker 컨테이너로 직접 실행


🚀 2. Docker에 직접 컨테이너 추가하는 방법

시놀로지 NAS에서 SSH 접속 후, docker-compose.yml 파일을 생성하여 여러 컨테이너를 한 번에 설정할 수 있습니다.

Step 1: SSH로 NAS에 접속

bash
ssh admin@<NAS_IP>

(예: ssh admin@192.168.1.100)

Step 2: docker-compose.yml 파일 만들기

NAS의 Docker 디렉토리(예: /volume1/docker/homeassistant/)에 이동하여 설정 파일을 만듭니다.

bash
mkdir -p /volume1/docker/homeassistant cd /volume1/docker/homeassistant nano docker-compose.yml

⬇️ 아래 내용을 복사해서 docker-compose.yml 파일에 추가하세요.

yaml
version: '3.8' services: homeassistant: container_name: homeassistant image: homeassistant/home-assistant:latest restart: unless-stopped network_mode: host privileged: true volumes: - /volume1/docker/homeassistant/config:/config - /etc/localtime:/etc/localtime:ro environment: - TZ=Asia/Seoul esphome: container_name: esphome image: esphome/esphome restart: unless-stopped network_mode: host privileged: true volumes: - /volume1/docker/esphome:/config - /etc/localtime:/etc/localtime:ro environment: - TZ=Asia/Seoul node-red: container_name: node-red image: nodered/node-red restart: unless-stopped network_mode: host volumes: - /volume1/docker/node-red:/data - /etc/localtime:/etc/localtime:ro environment: - TZ=Asia/Seoul mosquitto: container_name: mosquitto image: eclipse-mosquitto restart: unless-stopped ports: - "1883:1883" - "9001:9001" volumes: - /volume1/docker/mosquitto/config:/mosquitto/config - /volume1/docker/mosquitto/data:/mosquitto/data - /volume1/docker/mosquitto/log:/mosquitto/log environment: - TZ=Asia/Seoul zigbee2mqtt: container_name: zigbee2mqtt image: koenkk/zigbee2mqtt restart: unless-stopped volumes: - /volume1/docker/zigbee2mqtt:/app/data - /etc/localtime:/etc/localtime:ro devices: - "/dev/ttyUSB0:/dev/ttyUSB0" environment: - TZ=Asia/Seoul network_mode: host samba: container_name: samba image: dperson/samba restart: unless-stopped ports: - "139:139" - "445:445" volumes: - /volume1/docker/homeassistant/config:/share environment: - USER=homeassistant - PASS=homeassistant - TZ=Asia/Seoul command: '-u "homeassistant;homeassistant" -s "config;/share;yes;no;no;all;none"' google-drive-backup: container_name: google-drive-backup image: sabeechen/hassio-google-drive-backup restart: unless-stopped volumes: - /volume1/docker/homeassistant/config:/config - /etc/localtime:/etc/localtime:ro environment: - TZ=Asia/Seoul

Step 3: 컨테이너 실행

파일을 저장한 후, docker-compose 명령어로 컨테이너를 실행합니다.

bash
docker-compose up -d

⏳ 몇 분 기다리면 모든 컨테이너가 자동으로 실행됩니다.


Step 4: 정상적으로 실행되는지 확인

bash
docker ps

📌 실행 중이라면 아래와 같은 출력이 나옵니다.

bash
CONTAINER ID IMAGE STATUS PORTS NAMES a1b2c3d4e5f6 homeassistant/home-assistant:latest Up 5 minutes 8123/tcp homeassistant b2c3d4e5f6g7 esphome/esphome Up 5 minutes 6052/tcp esphome c3d4e5f6g7h8 eclipse-mosquitto Up 5 minutes 1883/tcp mosquitto d4e5f6g7h8i9 koenkk/zigbee2mqtt Up 5 minutes zigbee2mqtt ...

Step 5: 웹 UI 접속

각 서비스의 웹 인터페이스에 접속하여 설정하세요.

서비스웹 주소
Home Assistanthttp://NAS_IP:8123
ESPHomehttp://NAS_IP:6052
Node-REDhttp://NAS_IP:1880
Mosquitto (MQTT)Home Assistant의 MQTT 설정에서 NAS_IP:1883 사용
Zigbee2MQTThttp://NAS_IP:8080
Samba 공유Windows에서 \\NAS_IP\config 로 접근 가능
Google Drive Backuphttp://NAS_IP:1627

🚀 결론: 애드온 없이도 Docker에서 모든 기능 사용 가능!

애드온 없이도 Docker 컨테이너를 이용하면 동일한 기능 사용 가능
ESPHome, Node-RED, MQTT, Zigbee2MQTT 등을 각각 설치하여 독립적인 컨테이너로 실행 가능
설치 후 웹 UI에서 설정하면 편하게 사용 가능

💡 이제 NAS에서 애드온 없이도 홈어시스턴트의 모든 기능을 사용할 수 있습니다!
필요한 설정이 있으면 도와드릴게요! 🚀🔥

댓글 쓰기

0 댓글