If you already run a Linux home server, a Synology or QNAP NAS, or an Unraid machine, running Homebridge in a Docker container saves you from buying extra hardware. Homebridge runs isolated from your host operating system and starts back up automatically after a reboot.
This guide walks through the required network settings, shows how to launch the container with Docker Compose or Portainer, and explains how to manage it from the Homemanager app or a web browser.
Use existing hardware: Run Homebridge on a machine you already own, saving purchase costs and an extra power plug.
Clean isolation: Node.js, libraries, and Homebridge stay inside the container without altering your host system.
Simple backups: Settings, plugins, and HomeKit pairing data live in a single mapped folder on your host, making server moves straightforward.
Automatic restarts: Using restart: unless-stopped, Docker brings Homebridge back up after crashes or host reboots.
Built-in FFmpeg: The official image includes ffmpeg with audio transcoding out of the box, so camera plugins work immediately without manual compilation.
mDNS limitation with Docker Desktop (macOS & Windows):
Docker Desktop on macOS and Windows runs containers inside a virtual Linux machine. This virtualization layer prevents host network mode (network_mode: host) from passing multicast mDNS traffic (Bonjour over UDP port 5353) to your physical network. Apple Home will not find the bridge and will display “No Response” (documented in Docker Desktop issue #570).
Docker normally isolates containers in an internal bridge network. Apple HomeKit relies on mDNS (Bonjour over UDP port 5353) for local device discovery. These multicast packets cannot cross Docker bridge boundaries.
Homebridge must use host network mode (network_mode: host or --net=host), allowing the container to bind directly to the host's IP address and network interface.
Container filesystems reset whenever an image updates or a container is recreated.
The internal path /homebridge must map to a persistent directory on your host. This preserves config.json, installed plugins, cache files, and Apple Home pairing keys.
The official multi-architecture image is maintained at homebridge/homebridge:latest and supports amd64, arm64, and armv7 processors.
Note on image naming: The official image migrated from oznu/homebridge to homebridge/homebridge on Docker Hub. Use homebridge/homebridge for all new setups and updates.
Once the container is running, Homebridge is available on your local network. The web interface (homebridge-config-ui-x) acts as the browser dashboard and provides the API that Homemanager connects to.
The instance runs unencrypted over port 8581 by default.
Because this is a fresh setup without existing accounts, you create an administrator account during the first connection. You can do this in the app or in a browser:
Open Homemanager while connected to the same Wi-Fi network as the host server. Tap Connect to Server during initial launch (or Add Platform in the platform list). With host networking enabled, the app finds the instance automatically using mDNS and Bonjour.
Homemanager detects the new server and opens the Create new User screen. Enter a display name, username (such as admin), and password, then tap Create and Log In.
The account is created directly on the server, credentials are saved securely in your iOS Keychain, and Homemanager connects immediately.
Discovery issues or running Docker on a remote server? Refer to Connecting Servers to Homemanager for manual IP and port configuration and network troubleshooting.
Update plugins and Homebridge releases directly in Homemanager or through the web interface. All configuration files and dependencies stay in your mapped /homebridge folder, so changes persist across container restarts. You do not need to rebuild the container for plugin updates.
You can run maintenance commands without logging into the host over SSH:
Homemanager app & web UI: Both include a built-in terminal to run commands directly inside the container environment.
Host terminal (docker exec): If you are connected to the host via SSH, run commands with docker exec.
# Reset the administrator password to admin/admindocker exec -it homebridge hb-service reset-admin# Follow live container logsdocker logs -f homebridge# Open an interactive shell inside the containerdocker exec -it homebridge sh# Restart the containerdocker restart homebridge
If you have the web interface or Homemanager open, you can run hb-service commands directly in the built-in terminal without the docker exec -it homebridge prefix.
Pair with Apple Home:
Scan the setup QR code in Homemanager or on the web dashboard with the Apple Home app on your iPhone. Apple Home pairing guide
Install plugins:
Search for device integrations in Homemanager or the web interface (such as Tuya, Shelly, FritzBox, Ring, or cameras). Tips on finding and evaluating plugins
Set up child bridges:
Isolate larger plugins into separate processes so an issue with one accessory does not affect the rest of your home. Learn more about child bridges