update readme
This commit is contained in:
78
README.md
78
README.md
@@ -1,21 +1,19 @@
|
||||
# hyperion-docker
|
||||
|
||||
Repository based on https://github.com/psychowood/hyperion.ng-docker
|
||||
This repository is based on the work of [psychowood](https://github.com/psychowood/hyperion.ng-docker) although it has suffered some modifications.
|
||||
|
||||

|
||||

|
||||
|
||||
This is a simple repository containining some `docker-compose.yml` sample files useful for running [hyperiong.ng](https://github.com/hyperion-project/hyperion.ng/#readme) as a service inside a docker environment, without having to rely on one of the closed sources docker images running wild out there.
|
||||
Just copy-paste and `docker-compose up -d` it.
|
||||
This is a simple repository containining some the source files that enable you tu run [hyperiong.ng](https://github.com/hyperion-project/hyperion.ng/#readme) in a docker container.
|
||||
You can choose between building the image yourself or using the image that's published in this repositoru.
|
||||
|
||||
The docker-compose file is quite simple:
|
||||
The image is quite simple:
|
||||
|
||||
1. It's based on the [official Debian 11 (bullseye) docker image](https://hub.docker.com/_/debian)
|
||||
2. It downloads the hyperion official package from the [official hyperion apt package repository](https://apt.hyperion-project.org/)
|
||||
1. It's based on the [official Debian 12 (bookworm) docker image](https://hub.docker.com/_/debian)
|
||||
2. It downloads the hyperion official package from the [official hyperion apt package repository](https://apt.releases.hyperion-project.org/)
|
||||
3. Maps the `/config` dirctory as an external volume, to keep your settings
|
||||
4. Runs hyperiond service as non-root user. Default UID:GID are 1000:1000 but they can be easily changed adding a `.env` file
|
||||
|
||||
The setup is done on first run.
|
||||
4. Runs hyperiond service as non-root user. Default UID:GID are 1000:1000 but they can be easily changed through environment variables
|
||||
|
||||
Sadly, the resulting image is not exaclty slim at ~500MB, because hyperion has lots of dependencies. Since many of them are for the Desktop/Qt UI, it should be possible to slim the image up by cherry picking the ones not used but the cli service, but that's probably not really worth it.
|
||||
|
||||
@@ -25,80 +23,30 @@ You have different options to run this image, after starting the container you c
|
||||
|
||||
### Standard configuration
|
||||
|
||||
Simply said: git clone the repo (or directly download the Dockerfile)
|
||||
|
||||
```sh
|
||||
git clone https://github.com/psychowood/hyperion.ng-docker
|
||||
```
|
||||
docker build the local image
|
||||
```sh
|
||||
docker build -t hyperionng --no-cache .
|
||||
```
|
||||
if you want to run a nightly hyperionng build, run this additional build command to update the local image
|
||||
```sh
|
||||
docker build -t hyperionng -f Dockerfile.nightly .
|
||||
```
|
||||
start the container with `docker compose up -d` with the following `docker-compose.yml` file (included in the repo):
|
||||
start the container with `docker compose up -d` with the following `docker-compose.yml` :
|
||||
```yaml
|
||||
version: '3.3'
|
||||
|
||||
services:
|
||||
hyperionng:
|
||||
image: hyperionng:latest
|
||||
container_name: hyperionng
|
||||
image: git.claeyscloud.com/david/hyperion-docker
|
||||
volumes:
|
||||
- hyperionng-config:/config
|
||||
- /docker/hyperion:/config
|
||||
ports:
|
||||
- "19400:19400"
|
||||
- "19444:19444"
|
||||
- "19445:19445"
|
||||
- "8090:8090"
|
||||
- "8092:8092"
|
||||
Philips Hue in Entertainment mode
|
||||
#- "2100:2100"
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
hyperionng-config:
|
||||
```
|
||||
|
||||
### Standalone configuration
|
||||
|
||||
This configuration (found in `docker-compose.standalone.yml`) is completely built when upping the container, it runs of debian:bullseye image and installs hyperion and dependencies at first boot.
|
||||
All the main hyperion ports are mapped on your docker host.
|
||||
|
||||
```yaml
|
||||
version: '3.3'
|
||||
|
||||
services:
|
||||
hyperionng:
|
||||
image: debian:bullseye
|
||||
container_name: hyperionng
|
||||
command: bash -c "groupadd -f hyperion || true &&
|
||||
adduser -q --uid ${UID:-1000} --gid ${GID:-1000} --disabled-password --no-create-home hyperion || true &&
|
||||
mkdir -p /config &&
|
||||
chown ${UID:-1000}:${GID:-1000} /config &&
|
||||
apt-get update &&
|
||||
apt-get install -y wget gpg sudo libpython3.9 &&
|
||||
wget -qO /tmp/hyperion.pub.key https://apt.hyperion-project.org/hyperion.pub.key &&
|
||||
gpg --dearmor -o - /tmp/hyperion.pub.key > /usr/share/keyrings/hyperion.pub.gpg &&
|
||||
echo \"deb [signed-by=/usr/share/keyrings/hyperion.pub.gpg] https://apt.hyperion-project.org/ bullseye main\" > /etc/apt/sources.list.d/hyperion.list &&
|
||||
apt-get update &&
|
||||
apt-get install -y hyperion &&
|
||||
apt-get clean &&
|
||||
sudo -u hyperion /usr/bin/hyperiond -v --service -u /config"
|
||||
ports:
|
||||
- "19400:19400"
|
||||
- "19444:19444"
|
||||
- "19445:19445"
|
||||
- "8090:8090"
|
||||
- "8092:8092"
|
||||
volumes:
|
||||
- hyperionng-config:/config
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
hyperionng-config:
|
||||
|
||||
```
|
||||
|
||||
In both cases, 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).
|
||||
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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user