Files
hyperion-docker/README.md
2026-02-10 08:49:10 +01:00

3.9 KiB

hyperion-docker

Hyperion Hyperion

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:

  1. It's based on the official Debian 13 (trixie) docker image
  2. It includes a custom build of hyperion designed to take away uncecesarry dependencies
  3. Maps the /config dirctory as an external volume, to keep your settings
  4. It disables network segmentation so that by default you don't have to use special network settings
  5. Runs hyperiond service as non-root user. Default UID:GID are 1000:1000 but they can be easily changed through environment variables

A mirror of this repository can be found in github.

The image is distributed in the following container registries :

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
    #image: ghcr.io/davidclaeysquinones/hyperion-docker:latest
    #image: davidquinonescl/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

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

Security considerations

Network segmentation

By default Hyperion uses network segmentation in order to improve security with mDNS and SSDP. In a standard setup (outside of a Docker environment) this makes sense since you wouldn't want accept packets from other networks. However in a Docker environment this makes things more complicated since unless you use host mode or specific network setup all requests would be rejected. In order to make setup more straightforward network segmentation has been disabled. This doesn't mean that you should expose your container to the internet !

Supply chain attacks

This repository is made in good faith and only intends to provide something useful. However you should never take something from the internet without having a good look at it. So review the source code in order to make sure nothing fishy is going on. Furthermore the build process includes downloading and compiling the source code. In most cases this will be just fine but if you're worried about supply chain attacks that is definitely a risk.