mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-07-19 07:06:30 +00:00
Fix hostname / add device if it use audio (#144)
Add an optional extended description…
This commit is contained in:
parent
7f33b3b5aa
commit
27a079742d
@ -13,6 +13,8 @@ from ..const import (
|
|||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
AUDIO_DEVICE = "/dev/snd:/dev/snd:rwm"
|
||||||
|
|
||||||
|
|
||||||
class DockerAddon(DockerBase):
|
class DockerAddon(DockerBase):
|
||||||
"""Docker hassio wrapper for HomeAssistant."""
|
"""Docker hassio wrapper for HomeAssistant."""
|
||||||
@ -28,6 +30,11 @@ class DockerAddon(DockerBase):
|
|||||||
"""Return name of docker container."""
|
"""Return name of docker container."""
|
||||||
return "addon_{}".format(self.addon.slug)
|
return "addon_{}".format(self.addon.slug)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def hostname(self):
|
||||||
|
"""Return slug/id of addon."""
|
||||||
|
return self.addon.slug.replace('_', '-')
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def environment(self):
|
def environment(self):
|
||||||
"""Return environment for docker add-on."""
|
"""Return environment for docker add-on."""
|
||||||
@ -43,6 +50,20 @@ class DockerAddon(DockerBase):
|
|||||||
'TZ': self.config.timezone,
|
'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
|
@property
|
||||||
def tmpfs(self):
|
def tmpfs(self):
|
||||||
"""Return tmpfs for docker add-on."""
|
"""Return tmpfs for docker add-on."""
|
||||||
@ -122,12 +143,12 @@ class DockerAddon(DockerBase):
|
|||||||
self.dock.containers.run(
|
self.dock.containers.run(
|
||||||
self.image,
|
self.image,
|
||||||
name=self.name,
|
name=self.name,
|
||||||
hostname=self.addon.slug,
|
hostname=self.hostname,
|
||||||
detach=True,
|
detach=True,
|
||||||
network_mode=self.addon.network_mode,
|
network_mode=self.addon.network_mode,
|
||||||
ports=self.addon.ports,
|
ports=self.addon.ports,
|
||||||
extra_hosts=self.mapping,
|
extra_hosts=self.mapping,
|
||||||
devices=self.addon.devices,
|
devices=self.devices,
|
||||||
cap_add=self.addon.privileged,
|
cap_add=self.addon.privileged,
|
||||||
environment=self.environment,
|
environment=self.environment,
|
||||||
volumes=self.volumes,
|
volumes=self.volumes,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user