Fix hostname / add device if it use audio (#144)

Add an optional extended description…
This commit is contained in:
Pascal Vizeli 2017-08-10 11:06:55 +02:00 committed by GitHub
parent 7f33b3b5aa
commit 27a079742d

View File

@ -13,6 +13,8 @@ from ..const import (
_LOGGER = logging.getLogger(__name__)
AUDIO_DEVICE = "/dev/snd:/dev/snd:rwm"
class DockerAddon(DockerBase):
"""Docker hassio wrapper for HomeAssistant."""
@ -28,6 +30,11 @@ class DockerAddon(DockerBase):
"""Return name of docker container."""
return "addon_{}".format(self.addon.slug)
@property
def hostname(self):
"""Return slug/id of addon."""
return self.addon.slug.replace('_', '-')
@property
def environment(self):
"""Return environment for docker add-on."""
@ -43,6 +50,20 @@ class DockerAddon(DockerBase):
'TZ': self.config.timezone,
}
@property
def devices(self):
"""Return needed devices."""
devices = self.addon.devices or []
# use audio devices
if self.addon.with_audio and AUDIO_DEVICE not in devices:
devices.append(AUDIO_DEVICE)
# Return None if no devices is present
if devices:
return devices
return None
@property
def tmpfs(self):
"""Return tmpfs for docker add-on."""
@ -122,12 +143,12 @@ class DockerAddon(DockerBase):
self.dock.containers.run(
self.image,
name=self.name,
hostname=self.addon.slug,
hostname=self.hostname,
detach=True,
network_mode=self.addon.network_mode,
ports=self.addon.ports,
extra_hosts=self.mapping,
devices=self.addon.devices,
devices=self.devices,
cap_add=self.addon.privileged,
environment=self.environment,
volumes=self.volumes,