Home Assistant를 처음 설치하려고 검색하다 보면 어느 순간 멈추게 되는 질문이 있다. “Docker로 올려야 하나, 아니면 가상 머신에 HA OS로 올려야 하나?” 둘 다 같은 Home Assistant를 쓰는 방법인데 왜 이렇게 선택지가 나뉘는 건지, 뭐가 다른 건지 처음엔 잘 감이 안 온다. 실제로 설치해보고 나서야 “아, 이래서 다른 거구나” 하고 느끼는 경우가 많다. 이 글에서는 Docker 방식과 VM에 HA OS를 설치하는 방식이 어떻게 다른지, 어떤 상황에서 어떤 선택이 더 나은지를 실제 사용 경험 기준으로 정리해봤다.

Docker 방식과 HA OS 방식, 뭐가 다른 건가
Home Assistant는 설치 방법이 여러 가지다. 그 중에서 가장 많이 비교되는 두 가지가 Home Assistant Container(Docker 방식)와 Home Assistant OS(VM 방식)다.
Docker 방식은 이미 운영 중인 리눅스 서버나 NAS 위에 컨테이너 형태로 Home Assistant를 띄우는 방법이다. 명령어 몇 줄이면 일단 화면이 뜨기 때문에 처음엔 쉬워 보인다. 반면 HA OS 방식은 Home Assistant 팀이 직접 만든 전용 운영체제를 가상 머신에 통째로 설치하는 방법이다. Proxmox나 VMware 같은 가상화 플랫폼 위에 HA OS 이미지를 올리면, Home Assistant가 공식 환경 그대로 동작한다.
겉보기엔 Docker가 훨씬 간단해 보인다. 그런데 실제로 써보면 이야기가 달라지는 지점이 생각보다 빨리 온다.
Docker 방식, 설치는 빠른데 막히는 순간이 있다
Docker로 Home Assistant를 실행하면 초기 화면이 뜨는 건 빠르다. 문제는 그다음부터다.
가장 먼저 느끼는 한계는 Supervisor가 없다는 점이다. Home Assistant의 Supervisor는 애드온 설치, 자동 업데이트, 백업 생성, 시스템 복원 같은 핵심 관리 기능을 담당하는 엔진이다. Docker 컨테이너 방식에서는 이 Supervisor가 포함되지 않는다. 즉, 공식 애드온 스토어 자체가 보이지 않는다.
Mosquitto 브로커, Zigbee2MQTT, Grafana, File Editor 같은 도구들을 공식 애드온 방식으로 쓸 수 없다는 뜻이다. 이것들을 쓰려면 별도로 Docker Compose를 구성하고, 네트워크 설정을 직접 맞추고, 컨테이너 간 통신 문제를 스스로 해결해야 한다. 리눅스와 Docker에 익숙한 사람이라면 오히려 유연하게 쓸 수 있다. 하지만 처음 시작하는 사람이라면 “왜 애드온 메뉴가 없지?”, “백업은 어떻게 하지?”, “업데이트하다 설정이 날아갔는데 복원이 안 된다”는 상황을 꽤 빠르게 마주하게 된다. 나도 처음엔 NAS의 Docker에 올렸다가 정확히 이 지점에서 막혔는데, 그 과정은 [HA 구축기 04] NAS Docker 설치 후기에 그대로 적어뒀다.
또 하나는 USB 장치 연동의 번거로움이다. Zigbee 스틱이나 Z-Wave 동글 같은 USB 장치를 연결할 때, Docker 환경에서는 장치 경로를 수동으로 지정하고 권한 설정도 따로 해줘야 한다. 재부팅 후 장치 경로가 바뀌면 다시 설정해야 하는 경우도 생긴다. 처음엔 별거 아닌 것 같아도, 이런 것들이 쌓이면 꽤 피곤해진다.
VM에 HA OS를 설치하면 달라지는 것들
가상 머신에 HA OS를 설치하면 Home Assistant가 공식적으로 설계된 환경 그대로 동작한다. Supervisor가 기본으로 포함되어 있기 때문에, 애드온 스토어에서 필요한 도구를 클릭 몇 번으로 설치할 수 있다. MQTT 브로커, File Editor, Duck DNS, Let’s Encrypt 인증서 자동 갱신 같은 기능들이 모두 GUI 안에서 해결된다.
백업과 복원 기능도 공식 기준대로 쓸 수 있다는 점이 초보자에게는 특히 중요하다. 설정을 잘못 건드려서 시스템이 이상해졌을 때, HA OS 환경에서는 이전 백업 파일을 업로드하고 복원 버튼 하나로 되돌릴 수 있다. Docker 환경에서는 이 과정을 수동으로 구성해야 한다. 뭔가 잘못됐을 때 되돌릴 방법이 명확하다는 건 심리적으로도 꽤 큰 차이다.
Proxmox 같은 가상화 플랫폼을 쓴다면 VM 자체 스냅샷 기능도 활용할 수 있어서, Home Assistant 차원의 백업과 VM 차원의 스냅샷을 이중으로 관리할 수도 있다. 뭔가 크게 건드리기 전에 스냅샷 하나 찍어두면 마음이 훨씬 편하다.
USB 장치 연동도 HA OS에서는 훨씬 자연스럽다. Zigbee 동글을 꽂으면 시스템이 자동으로 감지하고, Zigbee2MQTT 애드온 설정에서 해당 포트를 선택하는 방식으로 진행된다. 직접 권한을 건드릴 일이 거의 없다.
물론 VM 방식도 단점이 없는 건 아니다. Proxmox를 처음 접하는 사람이라면 VM 설정 자체에 익숙해지는 시간이 필요하다. 다만 HA OS 이미지를 VM에 올리는 과정은 공식 설치 문서에 단계별로 잘 설명되어 있고, 시놀로지 VMM 기준의 실제 설치 과정은 [HA 구축기 05] HA OS VM 설치 가이드에 정리해뒀고, 한 번 세팅해두면 이후 관리는 Home Assistant 인터페이스 안에서 대부분 처리된다. 초반 진입 장벽이 조금 있을 뿐, 그 이후는 오히려 더 편하다.
어떤 방식이 나에게 맞는지 확인하는 체크리스트
Docker 방식이 어울리는 경우
- 이미 운영 중인 NAS나 리눅스 서버가 있고, 거기에 여러 서비스를 함께 올리고 싶다.
- Docker와 리눅스 명령어에 어느 정도 익숙하다.
- 애드온보다는 직접 컨테이너를 구성해서 세밀하게 제어하고 싶다.
- Supervisor 없이도 필요한 서비스를 별도로 구성할 자신이 있다.
- Home Assistant 자체보다 주변 서비스 스택 구성에 더 관심이 있다.
VM에 HA OS 방식이 어울리는 경우
- Home Assistant를 처음 써보는 초보자다.
- 공식 애드온 스토어를 편하게 활용하고 싶다.
- 백업과 복원을 GUI에서 간단하게 처리하고 싶다.
- Zigbee, Z-Wave 같은 USB 동글을 사용할 계획이 있다.
- 리눅스나 Docker 명령어보다는 클릭 위주의 관리 방식을 선호한다.
- 문제가 생겼을 때 공식 커뮤니티나 문서에서 찾은 해결책이 내 환경에도 그대로 적용되길 원한다.
- Proxmox 같은 가상화 플랫폼을 새로 배우는 것에 거부감이 없다.
결국 어떤 선택이 나에게 맞을까
두 방식 모두 Home Assistant를 충분히 잘 돌릴 수 있는 방법이다. 어느 쪽이 절대적으로 낫다는 건 없다. 다만 스마트홈을 처음 구성하면서 빠르게 기능을 써보고 싶고, 문제가 생겼을 때 되돌릴 방법이 명확하길 원한다면 VM에 HA OS를 설치하는 방식이 시행착오를 줄이는 데 유리한 경우가 많다. 공식 기능을 그대로 쓸 수 있고, 인터넷에서 찾은 해결책이 내 환경에도 그대로 적용될 가능성이 높기 때문이다.
반대로 이미 서버 운영 경험이 있고 여러 서비스를 한 곳에서 유연하게 관리하고 싶다면 Docker 방식도 충분히 좋은 선택이 된다. 중요한 건 어떤 방식이 더 멋있어 보이느냐가 아니라, 지금 내 상황과 기술 수준에 어떤 방식이 더 잘 맞는지를 먼저 솔직하게 따져보는 것이다.
Home Assistant는 한 번 설치하고 끝나는 시스템이 아니다. 꾸준히 손을 대고 발전시켜 나가는 플랫폼이다. 시작을 어떻게 하느냐에 따라 그 과정이 즐거울 수도 있고, 오류와 씨름하다 지칠 수도 있다. 지금 본인의 상황에 맞는 선택을 하는 것이 가장 좋은 출발점이다. 설치 이후의 전체 과정은 Home Assistant 구축기 시리즈에서 순서대로 볼 수 있다.