Back to Blog
tutorialIntermediate5 min read

Home Assistant on Docker

A guide to deploying Home Assistant on Docker using Portainer, covering Docker Compose configuration, USB Zigbee dongle passthrough, and initial onboarding setup.

Home Assistant Docker Guide 2024

Take Control of Your Smarthome

Introduction

The author has been gradually taking control of smart home devices by migrating to Home Assistant. While converting existing devices can be challenging due to compatibility issues, new device additions are straightforward. Home Assistant offers extensive customization options for dashboards and automations tailored to specific needs.

System Requirements

Home Assistant requires a dedicated PC that remains powered on continuously. Minimum specifications include:

  • Modern CPU
  • 4-8GB RAM
  • 32GB storage

The author uses a BeeLink MiniPC with a 4-core Atom processor, 32GB RAM upgraded, and a 2TB SSD.

Hardware Recommendations

SONOFF Zigbee Dongle Plus: "pretty cheap, is used by a lot in the Home Assistant community and has great reviews"

Shelly Plugs: Feature energy monitoring and relay capabilities for converting standard switches to smart switches

ReoLink Doorbell Camera & 180° Camera: Work well with Home Assistant integration while maintaining privacy-focused primary app usage

BeeLink MiniPC: Suitable host hardware for running Home Assistant

Docker Deployment

Docker Compose Configuration

services:
  homeassistant:
    container_name: homeassistant
    image: "homeassistant/home-assistant:stable"
    volumes:
      - homeassistant_config:/config
      - /etc/localtime:/etc/localtime:ro
    devices:
      - /dev/serial/by-id/[YOUR ID]:/dev/ttyUSB0
    environment:
      - TZ=[YOUR TIMEZONE]
    restart: unless-stopped
    network_mode: host
 
volumes: 
  homeassistant_config:

Device ID Identification

Locate connected USB devices:

ls -l /dev/serial/by-id/

Expected output format:

usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_42b8e69e1aafed11a4da394e71c9e7b5-if00-port0

Copy the device ID into the docker-compose devices section.

Initial Setup

After deployment, access Home Assistant via: [PC-IP]:8123

Example: 192.168.69.100:8123

Click "Create My Smart Home" to begin onboarding. Select your house location and configure data sharing preferences. The system will auto-detect compatible devices upon completion.

Recommendations

Begin with basic dashboards and incrementally enhance customizations. Check Home Assistant's compatibility database before adding new devices. Manufacturer apps may still be necessary for certain devices alongside Home Assistant integration.