openhab / openhab-docker

Repository for building Docker containers for openHAB
https://www.openhab.org/
Eclipse Public License 2.0
211 stars 128 forks source link

S6-style init continuation scripts conflict with S6 #309

Closed jamesgoodhouse closed 3 years ago

jamesgoodhouse commented 4 years ago

The current s6-style init continuation scripts section in the entrypoint.sh (https://github.com/openhab/openhab-docker/blob/master/entrypoint-debian.sh#L90-L97) uses the same exact directory for the scripts as s6. This makes for double running of init continuation scripts when s6 is installed into the openbab docker image.

I'd propose that if s6-style init continuation scripts are a desired feature for this docker image that the directory be renamed to something like /etc/openhab/cont-init.d so as to not conflict with actual s6 init continuation scripts.

wborn commented 4 years ago

Renaming the dir will probably break the setup of the existing container users. What might work is to detect if s6 is installed and then skip running those scripts in entrypoint.sh.

E.g. depending on the distro we could check for the existence of:

Debian: /usr/bin/s6-svscan Alpine: /bin/s6-svscan

We could also query the installed packages but that will likely be slower.

Would that work for you?

jamesgoodhouse commented 4 years ago

Detecting if it's installed could work assuming it's a known location or otherwise easily detectable