hyperion-docker
This is a simple repository containing the source files that enable you tu run hyperiong.ng in a docker container. You can choose between building the image yourself or using the image that's published in this repository.
This repository initially was based on the work of psychowood. Upon putting further thought into it seemed necesasary to use a custom build instead of the official deb packages.
The image has the following characteristics:
- It's based on the official Debian 13 (trixie) docker image
- It includes a custom build of hyperion designed to take away uncecesarry dependencies
- Maps the
/configdirctory as an external volume, to keep your settings - Runs hyperiond service as non-root user. Default UID:GID are 1000:1000 but they can be easily changed through environment variables
Standard configuration
start the container with docker compose up -d with the following docker-compose.yml :
version: '3.3'
services:
hyperionng:
image: git.claeyscloud.com/david/hyperion-docker
volumes:
- /docker/hyperion:/config
ports:
- "19400:19400"
- "19444:19444"
- "19445:19445"
- "8090:8090"
- "8092:8092"
Philips Hue in Entertainment mode
#- "2100:2100"
restart: unless-stopped
You may want to adapt the "ports" section adding other port mappings for specific cases (e.g. "2100:2100/udp" for Philips Hue in Entertainment mode).
An alternative, especially if you need advanced functions like mDNS and SSDP services, could be running the cointainer in a macvlan network bridged to your local one. The following is an example that exposes the hyperionng container with the 192.168.1.17 IP in a local network 192.168.1.0/24 with the gateway 192.168.1.1, please adapt the configuration to your specific case.
version: '3.3'
services:
hyperionng:
image: hyperionng:latest
container_name: hyperionng
volumes:
- hyperionng-config:/config
networks:
mylannet:
ipv4_address: 192.168.1.17
restart: unless-stopped
volumes:
hyperionng-config:
# define networks
networks:
mylannet:
name: mylannet
driver: macvlan
driver_opts:
parent: eth0
ipam:
config:
- subnet: 192.168.1.0/24
gateway: 192.168.1.1
ip_range: 192.168.1.64/26
Moreover, if you want to use some hardware devices (USB. serial, video, and so on), you need to passthrough the correct one adding a devices section in the compose file (the following is jut an example):
devices:
- /dev/ttyACM0:/dev/ttyACM0
- /dev/video1:/dev/video1
- /dev/ttyUSB1:/dev/ttyUSB0
- /dev/spidev0.0:/dev/spidev0.0
If you want to use different UID and GID, you can add a .env file in the same folder of your docker-compose.yml file:
UID=1100
GID=1100

