The enclosure module implements the Platform and Hardware Abstraction Layer (PHAL) from OpenVoiceOS. This service loads PHAL plugins that provide different functionality to the core; plugins primarily differ from skills in that they do not have any intents and that they may only be valid in certain core environments (i.e. only for particular hardware or operating system environments).
neon_enclosure.admin
contains a service much like neon_enclosure
, but plugins
it loads will have root
privileges. This service is intended for handling any
OS-level interactions requiring escalation of privileges and is excluded from Docker support.
Because this service runs as root, it also requires configuration be initialized
prior to its initialization; user-level configurations will be placed in the /root
directory per XDG, so any configuration should be done at the system-level.
The included Dockerfile
may be used to build a docker container for the neon_audio module. The below command may be used
to start the container.
docker run -d \
--network=host \
--name=neon_enclosure \
-v ~/.config/pulse/cookie:/home/neon/.config/pulse/cookie:ro \
-v ${XDG_RUNTIME_DIR}/pulse:${XDG_RUNTIME_DIR}/pulse:ro \
--device=/dev/snd:/dev/snd \
-e PULSE_SERVER=unix:${XDG_RUNTIME_DIR}/pulse/native \
-e PULSE_COOKIE=/home/neon/.config/pulse/cookie \
neon_enclosure
Note: The above example assumes Docker data is stored in the standard user locations
~/.local/share
and~/.config
. You may want to change these values to some other path to separate container and host system data.