본문 바로가기
카테고리 없음

Home Assistant, 스마트홈 기기 없이 시작하기 (홈랩 서버 감시 대시보드) — 홈랩 입문 12편

by DDlabx 2026. 7. 10.

Home Assistant는 집 안의 여러 기기를 하나로 묶어 제어하는 스마트홈 허브입니다. 그런데 스마트 전구나 플러그가 하나도 없다면 설치할 이유가 있을까요? 결론부터 말하면 있습니다. 이 글에서는 스마트홈 기기가 전혀 없는 상태에서 Home Assistant를 가상머신에 설치하고, 공유기 트래픽과 서버 자원을 감시하는 실용적인 대시보드로 만드는 과정을 직접 실습한 그대로 정리합니다.

이 글은 11편(Vaultwarden)에서 이어집니다. Docker 환경은 4~5편을 참고하세요.

가상머신에 Home Assistant 설치하기

Home Assistant를 Docker로 돌릴 때는 network_mode: host 설정이 사실상 필수입니다. 스마트홈 기기 자동 검색(mDNS, SSDP, UPnP)이 같은 네트워크 안에서 브로드캐스트 방식으로 이뤄지기 때문에, 컨테이너가 독립 네트워크에 갇혀 있으면 기기를 찾지 못합니다. 작업 폴더를 만들고 아래 docker-compose.yml을 작성합니다.

services:
  homeassistant:
    image: ghcr.io/home-assistant/home-assistant:stable
    container_name: homeassistant
    restart: unless-stopped
    network_mode: host
    privileged: true
    environment:
      TZ: "Asia/Seoul"
    volumes:
      - ./config:/config
      - /run/dbus:/run/dbus:ro

docker compose up -d로 실행한 뒤 http://내서버IP:8123에 접속합니다. 여기서 한 가지 알아둘 점은 첫 실행에 1~2분이 걸린다는 것입니다. 내부적으로 초기 설정 파일을 생성하기 때문인데, 바로 접속하면 화면이 뜨지 않아 실패한 줄 알기 쉽습니다. 잠시 기다렸다 새로고침하면 계정 생성 화면이 나옵니다. 이름과 비밀번호를 정하고 집 위치를 설정하면(단위는 미터법 선택) 거실·주방·침실 같은 영역이 자동으로 만들어지며 대시보드에 진입합니다.

 

기기가 없어도 뭔가 잡힌다 — 자동 검색의 실제 결과

계정을 만들면 Home Assistant가 곧바로 네트워크를 스캔해 '발견된 통합 구성요소'를 보여줍니다. 스마트홈 기기가 하나도 없는 제 환경에서도 결과가 나왔는데, 바로 KT GIGA Homehub IGD(UPnP/IGD), 즉 우리 집 KT 공유기였습니다. UPnP는 공유기가 자신의 존재를 네트워크에 알리는 표준 프로토콜이고, Home Assistant가 그것을 잡아낸 것입니다. 가상머신 안에서 돌아가는 컨테이너인데도 자동 검색이 정상 작동한다는 뜻이라, VM 환경을 걱정하던 분들에게는 반가운 결과입니다.

이 공유기를 추가하면 무엇을 볼 수 있을까요? 스마트홈 기기는 아니지만 실시간 인터넷 트래픽이 들어옵니다. 제 대시보드에는 다운로드 속도 631.6 KiB/s, 업로드 속도 12.3 KiB/s가 실시간으로 표시됐습니다. 지금 우리 집 인터넷이 얼마나 쓰이고 있는지를 눈으로 보게 되는 것이죠. 여기에 기본으로 포함된 날씨 통합까지 더해지면, 현재 기온과 최고·최저 기온이 카드로 표시됩니다. 기기가 하나도 없어도 대시보드가 완전히 비어 있지는 않다는 뜻입니다.

 

System Monitor로 홈랩 서버 감시하기 — 88개 센서의 함정

기기가 없는 홈랩 사용자에게 가장 실용적인 통합은 System Monitor입니다. 지금까지 만들어온 우분투 서버 자체의 CPU·메모리·디스크 상태를 Home Assistant에서 감시할 수 있기 때문입니다. 설정 → 기기 및 서비스 → 통합 구성요소 추가에서 'System Monitor'를 검색해 추가합니다. 이때 예전 자료와 달리 어떤 센서를 쓸지 고르는 화면이 나오지 않고, 기기 이름과 영역만 물은 뒤 '건너뛰고 종료'로 바로 끝납니다.

그런데 추가하고 나면 당황하게 됩니다. 기기 정보에 아무 값도 없고 *'88개 비활성화된 엔티티 이상'*이라는 문구만 보이기 때문입니다. 이는 오류가 아닙니다. System Monitor는 시스템의 모든 디스크 파티션, 모든 네트워크 인터페이스, 모든 CPU 코어에 대해 센서를 만드는데, 우리 서버에는 Docker가 만든 가상 네트워크 인터페이스(docker0, br-..., veth...)가 여럿 있어 숫자가 크게 불어납니다. 전부 켜두면 무거우므로 기본적으로 비활성 상태인 것입니다. 우리는 필요한 것만 켜면 됩니다.

'88개 비활성화된 엔티티 이상'을 클릭해 목록에서 원하는 센서를 찾아 활성화합니다. 저는 프로세서 사용, 메모리 사용량, 메모리 사용률(%) 세 가지를 켰습니다. 활성화 직후에는 값이 '알 수 없음'으로 보일 수 있는데 1~2분 지나면 실제 수치가 들어옵니다. 제 서버는 메모리 2,254MiB(30.4%), 프로세서 2%로 표시됐습니다. 홈랩에 사진 서버(Immich)를 운영한다면 디스크 사용률 센서도 함께 켜두면 유용합니다.

 

대시보드 정리 — 카드 이름은 엔터티 설정에서 바꾼다

센서를 활성화한 뒤 기기 정보 화면의 '대시보드에 추가'를 누르면 대시보드를 고르는 창이 뜹니다. 여기서 주의할 점은 기본 선택이 '지도' 대시보드일 수 있다는 것입니다. 지도 대시보드는 카드를 담을 수 없어 '이 대시보드에는 보기가 없습니다'라는 빨간 경고가 뜹니다. 드롭다운에서 *'둘러보기'(Overview)*를 선택하면 정상적으로 추가됩니다.

추가하고 나면 카드 이름이 모두 System Monitor ...처럼 잘려 보여서 무엇이 무엇인지 구분되지 않습니다. 이름을 바꾸는 방법이 다소 헷갈리는데, 대시보드 편집 모드에서 카드를 편집하는 것이 아닙니다. 대시보드에서 해당 센서를 직접 클릭해 상세 창을 띄운 뒤, 창 안의 톱니바퀴(⚙️) 아이콘을 눌러 이름을 변경하면 됩니다. 즉 카드가 아니라 엔터티 자체의 설정을 바꾸는 것입니다. 'CPU', '메모리' 같은 짧은 이름으로 정리하면 한눈에 들어옵니다. 여러 센서를 한 카드에 묶고 싶다면 편집 모드에서 '카드 추가 → 엔터티(Entities)'를 선택하고 원하는 센서들을 넣으면 '홈랩 서버 상태' 같은 목록형 카드를 만들 수 있습니다.

여기까지가 이번 편의 범위입니다. 참고로 다른 앱들과 달리 이번에는 리버스 프록시로 도메인을 연결하지 않고 내부 IP로만 접속했습니다. Home Assistant는 리버스 프록시 뒤에서 동작하려면 configuration.yaml에 신뢰할 프록시(trusted_proxies) 설정을 직접 추가해야 하고, 이를 빠뜨리면 접속 시 400 오류가 발생하기 때문입니다. 이 부분은 별도로 다룰 만한 주제라 여기서는 기기 없이 활용하는 데 집중했습니다.

정리하면 스마트홈 기기가 없어도 Home Assistant는 공유기 트래픽과 서버 자원을 보여주는 모니터링 대시보드로 충분히 쓸모가 있습니다. 나중에 스마트 플러그 하나만 들여도 그때부터 진짜 스마트홈이 시작되고요. 다음 편에서는 구글 드라이브를 대체하는 파일 동기화를 직접 구축해봅니다. → 13편. Nextcloud vs Syncthing — 내 파일 동기화 직접 만들기


소개 및 문의 · 개인정보처리방침 · 면책조항

© 2026 블로그 이름