https://github.com/homebridge/docker-homebridge
Homebridge Docker. HomeKit support for the impatient using Docker on x86_64, Raspberry Pi (armhf) and ARM64. Includes ffmpeg + libfdk-aac.
https://github.com/homebridge/docker-homebridge
aarch64 alpine-linux arm arm6 arm64 armhf armv6 docker docker-homebridge ffmpeg homebridge homebridge-docker homekit libfdk-aac raspberry-pi rpi siri x86-64
Last synced: 5 months ago
JSON representation
Homebridge Docker. HomeKit support for the impatient using Docker on x86_64, Raspberry Pi (armhf) and ARM64. Includes ffmpeg + libfdk-aac.
- Host: GitHub
- URL: https://github.com/homebridge/docker-homebridge
- Owner: homebridge
- License: gpl-3.0
- Created: 2017-03-12T04:50:33.000Z (over 8 years ago)
- Default Branch: latest
- Last Pushed: 2025-04-18T14:32:29.000Z (6 months ago)
- Last Synced: 2025-04-19T04:12:40.133Z (6 months ago)
- Topics: aarch64, alpine-linux, arm, arm6, arm64, armhf, armv6, docker, docker-homebridge, ffmpeg, homebridge, homebridge-docker, homekit, libfdk-aac, raspberry-pi, rpi, siri, x86-64
- Language: Shell
- Homepage: https://hub.docker.com/r/homebridge/homebridge/
- Size: 411 KB
- Stars: 2,627
- Watchers: 68
- Forks: 251
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- StarryDivineSky - homebridge/docker-homebridge - aac编码库,实现了对视频流媒体处理的完整支持,用户无需手动编译依赖组件即可运行。其核心工作原理是通过Homebridge代理服务将非Apple设备(如智能灯泡、传感器等)模拟为HomeKit设备,所有功能通过Docker容器化部署,确保环境隔离性和配置便捷性。项目特别优化了跨平台兼容性,既支持主流PC系统,也适配树莓派等嵌入式设备,用户只需通过docker命令即可启动服务。开发者还集成了自动更新机制和插件扩展功能,允许用户通过安装第三方插件扩展设备支持范围。相比传统部署方式,该项目通过容器化技术降低了环境配置门槛,同时保证了系统运行的稳定性,适合希望快速搭建智能家居控制中心但缺乏技术背景的用户。项目维护者持续优化容器镜像,确保依赖库的及时更新,并提供清晰的文档说明以简化使用流程。 (硬件_其他 / 资源传输下载)
README
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ZEW8TFQCU2MSJ&source=url)
[](https://github.com/homebridge/docker-homebridge/actions)
[](https://hub.docker.com/r/homebridge/homebridge/)
[](https://discord.gg/Cmq8a44)Important Update
We have moved the hosting of the offical homebridge docker image from **oznu/homebridge** to **homebridge/homebridge**. Please update your environments as needed to pickup the latest image.
# Homebridge Docker Image
This Ubuntu Linux based Docker image allows you to run [Nfarina's](https://github.com/nfarina) [Homebridge](https://github.com/homebridge/homebridge) on your home network which emulates the iOS HomeKit API.
This is a multi-arch image and will run on x86_64, Raspberry Pi 2, 3, 4, Zero 2 W, or other Docker-enabled ARMv7/8 devices. Docker will automatically pull the correct image for your system.
| Image Tag | Architectures | Base Image |
| :-------------------- | :-----------------------| :----------------- |
| latest, ubuntu | amd64, arm32v7, arm64v8 | Ubuntu 24.04 |## Step-By-Step Guides
- [Running Homebridge with Docker on Linux](https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Docker)
- [Running Homebridge on a Synology NAS](https://github.com/homebridge/docker-homebridge/wiki/Homebridge-on-Synology)
- [Running Homebridge on Unraid](https://github.com/homebridge/docker-homebridge/wiki/Homebridge-on-Unraid)## Compatibility
Homebridge requires full access to your local network to function correctly which can be achieved using the ```--net=host``` flag.
**This image will not work when using [Docker for Mac](https://docs.docker.com/docker-for-mac/) or [Docker for Windows](https://docs.docker.com/docker-for-windows/) due to [this](https://github.com/homebridge/docker-homebridge/issues/570)**.
## Usage
### Using [Docker Compose](https://docs.docker.com/compose/) (recommended):
1. Create the file `docker-compose.yml`
```yml
version: '2'
services:
homebridge:
image: homebridge/homebridge:latest
restart: always
network_mode: host
volumes:
- ./volumes/homebridge:/homebridge
logging:
driver: json-file
options:
max-size: '10m'
max-file: '1'
healthcheck:
test: curl --fail localhost:8581 || exit 1
interval: 60s
retries: 5
start_period: 300s
timeout: 2s
```2. Start docker with
```bash
docker compose up
```### Or Command Line:
```bash
docker run --net=host --name=homebridge -v $(pwd)/homebridge:/homebridge homebridge/homebridge:latest
```## Parameters
The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side.
* `--net=host` - Shares host networking with container, **required**
* `-v /homebridge` - The Homebridge config and plugin location, **required**##### *Optional Settings:*
* `-e TZ` - for [timezone information](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) e.g. `-e TZ=Australia/Canberra`
* `-e ENABLE_AVAHI` - default is `1`; set to `0` to prevent the Avahi mDNS service running in the container## Homebridge UI
This image comes with the [Homebridge UI](https://github.com/homebridge/homebridge-config-ui-x) pre-installed and is the easiest way to manage all aspects of Homebridge.
To manage Homebridge go to `http://:8581` in your browser. For example, `http://192.168.1.20:8581`. From here you can install, remove and update plugins, modify the Homebridge config.json and restart Homebridge.
![]()
## Automated Updates
Automated updates of the Homebridge Docker Image using tools such as Watchtower or similar are strongly discouraged and are done so at your own risk.
**NOTE** - The version of Homebridge **IS NOT** tied to the version of the container. You can update Homebridge, the Homebridge UI and the Node.js runtime from inside the container.
## Troubleshooting
#### 1. Need ffmpeg?
ffmpeg, with `libfdk-aac` audio support is included in this image.
#### 2. Container will not start on older versions of Raspbian
If you're seeing errors like the following, your host operating system needs to be updated.
See [#434](https://github.com/homebridge/docker-homebridge/issues/434) and [#441](https://github.com/homebridge/docker-homebridge/issues/441) for potential solutions.
```
Node.js[445]: ../src/util.cc:188:double node::GetCurrentTimeInMicroseconds(): Assertion `(0) == (uv_gettimeofday(&tv))' failed.
Aborted (core dumped)
``````
homebridge_1 | s6-svscan: warning: unable to iopause: Operation not permitted
homebridge_1 | s6-svscan: warning: executing into .s6-svscan/crash
homebridge_1 | s6-svscan crashed. Killing everything and exiting.
``````
homebridge | # Fatal error in , line 0
homebridge | # unreachable code
```#### 3. Ask on Discord
Join the [Official Homebridge Discord](https://discord.gg/Cmq8a44) community and ask in the [#docker](https://discord.gg/Cmq8a44) channel.
## License
Copyright (C) 2024 homebridge
Copyright (C) 2017-2022 oznuThis program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the [GNU General Public License](./LICENSE) for more details.