From 27a079742d40480de5c72b0cc781df0374086512 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Thu, 10 Aug 2017 11:06:55 +0200 Subject: [PATCH] Fix hostname / add device if it use audio (#144) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add an optional extended description… --- hassio/dock/addon.py | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/hassio/dock/addon.py b/hassio/dock/addon.py index e5e3df2b0..b9e56829f 100644 --- a/hassio/dock/addon.py +++ b/hassio/dock/addon.py @@ -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,