From ba7c614593aa9b86290b0f6f535b94aad1d970c2 Mon Sep 17 00:00:00 2001
From: j1nx
Date: Tue, 9 Jan 2024 11:59:46 +0000
Subject: [PATCH] [All] {WIP} Change over the quadlet files to use drop-in
support.
At the moment these quadlets do not auto start at boot yet.
Still thinking about the best way forward in regards with the upcoming
template support and the overall ovos-containers buildroot package.
---
.../containers/systemd/ovos_audio.container | 35 ----------------
.../containers/systemd/ovos_cli.container | 25 -----------
.../containers/systemd/ovos_core.container | 36 ----------------
.../containers/systemd/ovos_gui.container | 42 -------------------
.../systemd/ovos_gui_websocket.container | 27 ------------
.../systemd/ovos_listener.container | 36 ----------------
.../systemd/ovos_messagebus.container | 24 -----------
.../containers/systemd/ovos_phal.container | 32 --------------
.../systemd/ovos_phal_admin.container | 29 -------------
.../rootfs-overlay/boot/efi}/.empty | 0
.../systemd/ovos-core.d/AddDevice.conf | 3 ++
.../systemd/ovos-gui-shell.d/AddDevice.conf | 2 +
.../systemd/ovos-phal.d/AddDevice.conf | 3 ++
.../systemd/ovos_phal_admin.container | 26 ------------
.../lib}/udev/rules.d/91-seeedvoicecard.rules | 0
.../lib}/udev/rules.d/91-vocalfusion.rules | 0
.../rules.d/98-backlight-permissions.rules | 0
.../lib}/udev/rules.d/99-com.rules | 0
.../package/ovos-containers/Config.in | 8 +---
.../ovos-containers/ovos-containers.mk | 4 +-
.../containers/systemd/hivemind-cli.container | 23 ++++++++++
.../systemd/hivemind-listener.container | 23 ++++++++++
.../containers/systemd/ovos-audio.container} | 11 ++---
.../containers/systemd/ovos-cli.container} | 7 +---
.../containers/systemd/ovos-core.container} | 12 ++----
.../systemd/ovos-gui-shell.container} | 20 ++++-----
.../systemd/ovos-gui-websocket.container} | 11 ++---
.../systemd/ovos-listener-dinkum.container} | 11 ++---
.../systemd/ovos-messagebus.container} | 4 +-
.../containers/systemd/ovos-phal.container} | 11 ++---
.../home/ovos/hivemind/config/.empty | 0
.../home/ovos/hivemind/share/.empty | 0
32 files changed, 89 insertions(+), 376 deletions(-)
delete mode 100644 buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_audio.container
delete mode 100644 buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_cli.container
delete mode 100644 buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_core.container
delete mode 100644 buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_gui.container
delete mode 100644 buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_gui_websocket.container
delete mode 100644 buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_listener.container
delete mode 100644 buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_messagebus.container
delete mode 100644 buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_phal.container
delete mode 100644 buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_phal_admin.container
rename buildroot-external/{rootfs-overlay/boot => board/ovos/raspberrypi/rootfs-overlay/boot/efi}/.empty (100%)
create mode 100644 buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-core.d/AddDevice.conf
create mode 100644 buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-gui-shell.d/AddDevice.conf
create mode 100644 buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-phal.d/AddDevice.conf
delete mode 100644 buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_phal_admin.container
rename buildroot-external/board/ovos/raspberrypi/rootfs-overlay/{etc => usr/lib}/udev/rules.d/91-seeedvoicecard.rules (100%)
rename buildroot-external/board/ovos/raspberrypi/rootfs-overlay/{etc => usr/lib}/udev/rules.d/91-vocalfusion.rules (100%)
rename buildroot-external/board/ovos/raspberrypi/rootfs-overlay/{etc => usr/lib}/udev/rules.d/98-backlight-permissions.rules (100%)
rename buildroot-external/board/ovos/raspberrypi/rootfs-overlay/{etc => usr/lib}/udev/rules.d/99-com.rules (100%)
create mode 100644 buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/hivemind-cli.container
create mode 100644 buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/hivemind-listener.container
rename buildroot-external/{board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_audio.container => rootfs-overlay/home/ovos/.config/containers/systemd/ovos-audio.container} (83%)
rename buildroot-external/{board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_cli.container => rootfs-overlay/home/ovos/.config/containers/systemd/ovos-cli.container} (81%)
rename buildroot-external/{board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_core.container => rootfs-overlay/home/ovos/.config/containers/systemd/ovos-core.container} (81%)
rename buildroot-external/{package/ovos-containers/ovos_gui.container => rootfs-overlay/home/ovos/.config/containers/systemd/ovos-gui-shell.container} (72%)
rename buildroot-external/{package/ovos-containers/ovos_gui_websocket.container => rootfs-overlay/home/ovos/.config/containers/systemd/ovos-gui-websocket.container} (73%)
rename buildroot-external/{board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_listener.container => rootfs-overlay/home/ovos/.config/containers/systemd/ovos-listener-dinkum.container} (84%)
rename buildroot-external/{board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_messagebus.container => rootfs-overlay/home/ovos/.config/containers/systemd/ovos-messagebus.container} (88%)
rename buildroot-external/{board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_phal.container => rootfs-overlay/home/ovos/.config/containers/systemd/ovos-phal.container} (82%)
create mode 100644 buildroot-external/rootfs-overlay/home/ovos/hivemind/config/.empty
create mode 100644 buildroot-external/rootfs-overlay/home/ovos/hivemind/share/.empty
diff --git a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_audio.container b/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_audio.container
deleted file mode 100644
index b68f7397..00000000
--- a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_audio.container
+++ /dev/null
@@ -1,35 +0,0 @@
-[Unit]
-Description=OpenVoiceOS Audio Service
-After=local-fs.target
-After=network-online.target
-Wants=network-online.target
-Wants=pipewire.service
-After=pipewire.service
-Wants=ovos_messagebus.service
-After=ovos_messagebus.service
-Wants=ovos_phal.service
-After=ovos_phal.service
-
-[Container]
-ContainerName=ovos_audio
-Image=docker.io/smartgic/ovos-audio:alpha
-AutoUpdate=registry
-LogDriver=journald
-HostName=ovos_audio
-Network=host
-Timezone=local
-UserNS=keep-id:uid=%U,gid=%G
-EnvironmentFile=%h/.config/containers/env
-AddDevice=/dev/snd
-Volume=%h/ovos/config:/home/ovos/.config/mycroft
-Volume=/dev/shm:/tmp
-Volume=%t/pipewire-0:/run/user/1000/pipewire-0:ro
-Volume=%t/bus:/run/user/1000/bus:ro
-Volume=ovos_tts_cache:/home/ovos/.cache/mycroft
-
-[Service]
-TimeoutStartSec=900
-Restart=always
-
-[Install]
-WantedBy=multi-user.target default.target
diff --git a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_cli.container b/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_cli.container
deleted file mode 100644
index 00767d7e..00000000
--- a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_cli.container
+++ /dev/null
@@ -1,25 +0,0 @@
-[Unit]
-Description=OpenVoiceOS CLI
-After=local-fs.target
-After=network-online.target
-Wants=network-online.target
-
-[Container]
-ContainerName=ovos_cli
-Image=docker.io/smartgic/ovos-cli:alpha
-AutoUpdate=registry
-LogDriver=journald
-HostName=ovos_cli
-Network=host
-Timezone=local
-UserNS=keep-id:uid=%U,gid=%G
-Volume=%h/ovos/config:/home/ovos/.config/mycroft
-Volume=/dev/shm:/tmp
-Volume=/var/log/ovos:/var/log/mycroft
-
-[Service]
-TimeoutStartSec=900
-Restart=always
-
-[Install]
-WantedBy=multi-user.target default.target
diff --git a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_core.container b/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_core.container
deleted file mode 100644
index 3414f5a3..00000000
--- a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_core.container
+++ /dev/null
@@ -1,36 +0,0 @@
-[Unit]
-Description=OpenVoiceOS Core Service
-After=local-fs.target
-After=network-online.target
-Wants=network-online.target
-Wants=pipewire.service
-After=pipewire.service
-Wants=ovos_messagebus.service
-After=ovos_messagebus.service
-Wants=ovos_phal.service
-After=ovos_phal.service
-
-[Container]
-ContainerName=ovos_core
-Image=docker.io/smartgic/ovos-core:alpha
-AutoUpdate=registry
-LogDriver=journald
-HostName=ovos_core
-Network=host
-Timezone=local
-UserNS=keep-id:uid=%U,gid=%G
-EnvironmentFile=%h/.config/containers/env
-AddDevice=/dev/snd
-# AddDevice=/dev/gpiomem # RaspberryPi only
-Volume=%h/ovos/config:/home/ovos/.config/mycroft
-Volume=/dev/shm:/tmp
-Volume=%t/pipewire-0:/run/user/1000/pipewire-0:ro
-Volume=ovos_nltk:/home/ovos/nltk_data
-Volume=%h/ovos/share:/home/ovos/.local/share/mycroft
-
-[Service]
-TimeoutStartSec=900
-Restart=always
-
-[Install]
-WantedBy=multi-user.target default.target
diff --git a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_gui.container b/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_gui.container
deleted file mode 100644
index f860998c..00000000
--- a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_gui.container
+++ /dev/null
@@ -1,42 +0,0 @@
-[Unit]
-Description=OpenVoiceOS GUI Service
-After=local-fs.target
-After=network-online.target
-Wants=network-online.target
-Wants=pipewire.service
-After=pipewire.service
-Wants=ovos_messagebus.service
-After=ovos_messagebus.service
-Wants=ovos_phal.service
-After=ovos_phal.service
-Wants=ovos_gui_websocket.service
-After=ovos_gui_websocker.service
-
-[Container]
-ContainerName=ovos_gui
-Image=docker.io/smartgic/ovos-gui-shell:alpha
-AutoUpdate=registry
-LogDriver=journald
-HostName=ovos_gui
-Network=host
-Timezone=local
-UserNS=keep-id:uid=%U,gid=%G
-EnvironmentFile=%h/.config/containers/env
-AddDevice=/dev/snd
-AddDevice=/dev/dri
-# AddDevice=/dev/vchiq # Raspberry Pi only
-AddDevice=/dev/input
-Volume=%h/ovos/config:/home/ovos/.config/mycroft
-Volume=/dev/shm:/tmp
-Volume=%t/pipewire-0:/run/user/1000/pipewire-0:ro
-Volume=%t/bus:/run/user/1000/bus:ro
-Volume=%h/ovos/share:/home/ovos/.local/share/mycroft
-Volume=ovos_gui_files:/home/ovos/.cache/gui_files
-Volume=/run/udev/data:/run/udev/data:ro
-
-[Service]
-TimeoutStartSec=900
-Restart=always
-
-[Install]
-WantedBy=multi-user.target default.target
diff --git a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_gui_websocket.container b/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_gui_websocket.container
deleted file mode 100644
index 97c77bb7..00000000
--- a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_gui_websocket.container
+++ /dev/null
@@ -1,27 +0,0 @@
-[Unit]
-Description=OpenVoiceOS GUI Websocket Service
-After=local-fs.target
-After=network-online.target
-Wants=network-online.target
-Wants=ovos_messagebus.service
-After=ovos_messagebus.service
-
-[Container]
-ContainerName=ovos_gui_websocket
-Image=docker.io/smartgic/ovos-gui-websocket:alpha
-AutoUpdate=registry
-LogDriver=journald
-HostName=ovos_gui_websocket
-Network=host
-Timezone=local
-UserNS=keep-id:uid=%U,gid=%G
-Volume=%h/ovos/config:/home/ovos/.config/mycroft:ro
-Volume=/dev/shm:/tmp
-Volume=ovos_gui_files:/home/ovos/.cache/ovos_gui_file_server
-
-[Service]
-TimeoutStartSec=900
-Restart=always
-
-[Install]
-WantedBy=multi-user.target default.target
diff --git a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_listener.container b/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_listener.container
deleted file mode 100644
index a7c5a7e7..00000000
--- a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_listener.container
+++ /dev/null
@@ -1,36 +0,0 @@
-[Unit]
-Description=OpenVoiceOS Dinkum Listener Service
-After=local-fs.target
-After=network-online.target
-Wants=network-online.target
-Wants=pipewire.service
-After=pipewire.service
-Wants=ovos_messagebus.service
-After=ovos_messagebus.service
-Wants=ovos_phal.service
-After=ovos_phal.service
-
-[Container]
-ContainerName=ovos_listener
-Image=docker.io/smartgic/ovos-listener-dinkum:alpha
-AutoUpdate=registry
-LogDriver=journald
-HostName=ovos_listener
-Network=host
-Timezone=local
-UserNS=keep-id:uid=%U,gid=%G
-EnvironmentFile=%h/.config/containers/env
-AddDevice=/dev/snd
-Volume=%h/ovos/config:/home/ovos/.config/mycroft:ro
-Volume=/dev/shm:/tmp
-Volume=%t/pipewire-0:/run/user/1000/pipewire-0:ro
-Volume=ovos_listener_records:/home/ovos/.local/share/mycroft/listener
-Volume=ovos_models:/home/ovos/.local/share/precise-lite
-Volume=ovos_vosk:/home/ovos/.local/share/vosk
-
-[Service]
-TimeoutStartSec=900
-Restart=always
-
-[Install]
-WantedBy=multi-user.target default.target
diff --git a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_messagebus.container b/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_messagebus.container
deleted file mode 100644
index 265133b2..00000000
--- a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_messagebus.container
+++ /dev/null
@@ -1,24 +0,0 @@
-[Unit]
-Description=OpenVoiceOS Messagebus Service
-After=local-fs.target
-After=network-online.target
-Wants=network-online.target
-
-[Container]
-ContainerName=ovos_messagebus
-Image=docker.io/smartgic/ovos-messagebus:alpha
-AutoUpdate=registry
-LogDriver=journald
-HostName=ovos_messagebus
-Network=host
-Timezone=local
-UserNS=keep-id:uid=%U,gid=%G
-Volume=%h/ovos/config:/home/ovos/.config/mycroft:ro
-Volume=/dev/shm:/tmp
-
-[Service]
-TimeoutStartSec=900
-Restart=always
-
-[Install]
-WantedBy=multi-user.target default.target
diff --git a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_phal.container b/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_phal.container
deleted file mode 100644
index 2adae013..00000000
--- a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_phal.container
+++ /dev/null
@@ -1,32 +0,0 @@
-[Unit]
-Description=OpenVoiceOS PHAL Service
-After=local-fs.target
-After=network-online.target
-Wants=network-online.target
-Wants=pipewire.service
-After=pipewire.service
-Wants=ovos_messagebus.service
-After=ovos_messagebus.service
-
-[Container]
-ContainerName=ovos_phal
-Image=docker.io/smartgic/ovos-phal:alpha
-AutoUpdate=registry
-LogDriver=journald
-HostName=ovos_phal
-Network=host
-Timezone=local
-UserNS=keep-id:uid=%U,gid=%G
-EnvironmentFile=%h/.config/containers/env
-AddDevice=/dev/snd
-# AddDevice=/dev/gpiomem # Raspberry Pi only
-Volume=%h/ovos/config:/home/ovos/.config/mycroft
-Volume=/dev/shm:/tmp
-Volume=%t/pipewire-0:/run/user/1000/pipewire-0:ro
-
-[Service]
-TimeoutStartSec=900
-Restart=always
-
-[Install]
-WantedBy=multi-user.target default.target
diff --git a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_phal_admin.container b/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_phal_admin.container
deleted file mode 100644
index 08910686..00000000
--- a/buildroot-external/board/ovos/ova/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_phal_admin.container
+++ /dev/null
@@ -1,29 +0,0 @@
-[Unit]
-Description=OpenVoiceOS PHAL Admin Service
-After=local-fs.target
-After=network-online.target
-Wants=network-online.target
-Wants=ovos_messagebus.service
-After=ovos_messagebus.service
-
-[Container]
-ContainerName=ovos_phal_admin
-Image=docker.io/smartgic/ovos-phal-admin:alpha
-AutoUpdate=registry
-LogDriver=journald
-HostName=ovos_phal_admin
-Network=host
-Timezone=local
-UserNS=keep-id:uid=%U,gid=%G
-# AddDevice=/dev/gpiomem # Raspberry Pi only
-Volume=%h/ovos/config:/home/ovos/.config/mycroft
-Volume=/dev/shm:/tmp
-Volume=/sys:/sys:ro
-Volume=/dev:/dev:ro
-
-[Service]
-TimeoutStartSec=900
-Restart=always
-
-[Install]
-WantedBy=multi-user.target default.target
diff --git a/buildroot-external/rootfs-overlay/boot/.empty b/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/boot/efi/.empty
similarity index 100%
rename from buildroot-external/rootfs-overlay/boot/.empty
rename to buildroot-external/board/ovos/raspberrypi/rootfs-overlay/boot/efi/.empty
diff --git a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-core.d/AddDevice.conf b/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-core.d/AddDevice.conf
new file mode 100644
index 00000000..7dc64783
--- /dev/null
+++ b/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-core.d/AddDevice.conf
@@ -0,0 +1,3 @@
+[Container]
+AddDevice=/dev/gpiomem
+AddDevice=/dev/ttyAMA0
diff --git a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-gui-shell.d/AddDevice.conf b/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-gui-shell.d/AddDevice.conf
new file mode 100644
index 00000000..9e7cbbfc
--- /dev/null
+++ b/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-gui-shell.d/AddDevice.conf
@@ -0,0 +1,2 @@
+[Container]
+AddDevice=/dev/vchiq
diff --git a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-phal.d/AddDevice.conf b/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-phal.d/AddDevice.conf
new file mode 100644
index 00000000..7dc64783
--- /dev/null
+++ b/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-phal.d/AddDevice.conf
@@ -0,0 +1,3 @@
+[Container]
+AddDevice=/dev/gpiomem
+AddDevice=/dev/ttyAMA0
diff --git a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_phal_admin.container b/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_phal_admin.container
deleted file mode 100644
index 4d82c4bf..00000000
--- a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_phal_admin.container
+++ /dev/null
@@ -1,26 +0,0 @@
-[Unit]
-Description=OpenVoiceOS PHAL Admin Service
-After=local-fs.target
-After=network-online.target
-Wants=network-online.target
-Wants=ovos_messagebus.service
-After=ovos_messagebus.service
-
-[Container]
-ContainerName=ovos_phal_admin
-Image=docker.io/smartgic/ovos-phal-admin:alpha
-AutoUpdate=registry
-LogDriver=journald
-HostName=ovos_phal_admin
-Network=host
-Timezone=local
-UserNS=keep-id:uid=%U,gid=%G
-AddDevice=/dev/gpiomem
-Volume=%h/ovos/config:/home/ovos/.config/mycroft
-Volume=%h/ovos/tmp:/tmp
-Volume=/sys:/sys:ro
-Volume=/dev:/dev:ro
-
-[Service]
-TimeoutStartSec=900
-Restart=always
diff --git a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/etc/udev/rules.d/91-seeedvoicecard.rules b/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/usr/lib/udev/rules.d/91-seeedvoicecard.rules
similarity index 100%
rename from buildroot-external/board/ovos/raspberrypi/rootfs-overlay/etc/udev/rules.d/91-seeedvoicecard.rules
rename to buildroot-external/board/ovos/raspberrypi/rootfs-overlay/usr/lib/udev/rules.d/91-seeedvoicecard.rules
diff --git a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/etc/udev/rules.d/91-vocalfusion.rules b/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/usr/lib/udev/rules.d/91-vocalfusion.rules
similarity index 100%
rename from buildroot-external/board/ovos/raspberrypi/rootfs-overlay/etc/udev/rules.d/91-vocalfusion.rules
rename to buildroot-external/board/ovos/raspberrypi/rootfs-overlay/usr/lib/udev/rules.d/91-vocalfusion.rules
diff --git a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/etc/udev/rules.d/98-backlight-permissions.rules b/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/usr/lib/udev/rules.d/98-backlight-permissions.rules
similarity index 100%
rename from buildroot-external/board/ovos/raspberrypi/rootfs-overlay/etc/udev/rules.d/98-backlight-permissions.rules
rename to buildroot-external/board/ovos/raspberrypi/rootfs-overlay/usr/lib/udev/rules.d/98-backlight-permissions.rules
diff --git a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/etc/udev/rules.d/99-com.rules b/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/usr/lib/udev/rules.d/99-com.rules
similarity index 100%
rename from buildroot-external/board/ovos/raspberrypi/rootfs-overlay/etc/udev/rules.d/99-com.rules
rename to buildroot-external/board/ovos/raspberrypi/rootfs-overlay/usr/lib/udev/rules.d/99-com.rules
diff --git a/buildroot-external/package/ovos-containers/Config.in b/buildroot-external/package/ovos-containers/Config.in
index e834cdec..fdc9d2a1 100644
--- a/buildroot-external/package/ovos-containers/Config.in
+++ b/buildroot-external/package/ovos-containers/Config.in
@@ -23,9 +23,7 @@ config BR2_PACKAGE_OVOS_CONTAINERS_HEADLESS
This install all minimal required containers
to run the OVOS framework headless.
- Install: - ovos -messagebus
- - ovos-phal
- - ovos-phal-admin
+ Install: - ovos-phal
- ovos-listener-dinkum
- ovos-audio
- ovos-core
@@ -38,9 +36,7 @@ config BR2_PACKAGE_OVOS_CONTAINERS_GUI
to run the OVOS framework with the QT5
Graphical User Interface enabled.
- Install: - ovos -messagebus
- - ovos-phal
- - ovos-phal-admin
+ Install: - ovos-phal
- ovos-listener-dinkum
- ovos-audio
- ovos-core
diff --git a/buildroot-external/package/ovos-containers/ovos-containers.mk b/buildroot-external/package/ovos-containers/ovos-containers.mk
index 39a22bc9..a1cda27e 100644
--- a/buildroot-external/package/ovos-containers/ovos-containers.mk
+++ b/buildroot-external/package/ovos-containers/ovos-containers.mk
@@ -10,9 +10,7 @@ OVOS_CONTAINERS_LICENSE_FILES = $(BR2_EXTERNAL_OPENVOICEOS_PATH)/../LICENSE
OVOS_CONTAINERS_SITE = $(BR2_EXTERNAL_OPENVOICEOS_PATH)/package/ovos-containers
OVOS_CONTAINERS_SITE_METHOD = local
-OVOS_CONTAINERS_IMAGES = ovos-messagebus \
- ovos-phal \
- ovos-phal-admin \
+OVOS_CONTAINERS_IMAGES = ovos-phal \
ovos-listener-dinkum \
ovos-audio \
ovos-core \
diff --git a/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/hivemind-cli.container b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/hivemind-cli.container
new file mode 100644
index 00000000..00841d9f
--- /dev/null
+++ b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/hivemind-cli.container
@@ -0,0 +1,23 @@
+[Unit]
+Description=Hivemind CLI
+After=local-fs.target
+After=network-online.target
+Wants=network-online.target
+After=hivemind-listener.service
+Wants=hivemind-listener.service
+
+[Container]
+ContainerName=hivemind-cli
+Image=docker.io/smartgic/hivemind-cli:alpha
+AutoUpdate=registry
+LogDriver=journald
+HostName=hivemind-cli
+Network=host
+Timezone=local
+UserNS=keep-id:uid=%U,gid=%G
+Volume=%h/hivemind/config:/home/hivemind/.config/hivemind:z
+Volume=%h/hivemind/share:/home/hivemind/.local/share/hivemind:z
+
+[Service]
+TimeoutStartSec=900
+Restart=always
diff --git a/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/hivemind-listener.container b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/hivemind-listener.container
new file mode 100644
index 00000000..906b8776
--- /dev/null
+++ b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/hivemind-listener.container
@@ -0,0 +1,23 @@
+[Unit]
+Description=Hivemind Listener
+After=local-fs.target
+After=network-online.target
+Wants=network-online.target
+After=ovos-core.service
+Wants=ovos-core.service
+
+[Container]
+ContainerName=hivemind-listener
+Image=docker.io/smartgic/hivemind-listener:alpha
+AutoUpdate=registry
+LogDriver=journald
+HostName=hivemind-listener
+Network=host
+Timezone=local
+UserNS=keep-id:uid=%U,gid=%G
+Volume=%h/hivemind/config:/home/hivemind/.config/hivemind:z
+Volume=%h/hivemind/share:/home/hivemind/.local/share/hivemind:z
+
+[Service]
+TimeoutStartSec=900
+Restart=always
diff --git a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_audio.container b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-audio.container
similarity index 83%
rename from buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_audio.container
rename to buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-audio.container
index 0e230b19..b33f87af 100644
--- a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_audio.container
+++ b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-audio.container
@@ -7,15 +7,15 @@ Wants=pipewire.service
After=pipewire.service
Wants=ovos-bus-server.service
After=ovos-bus-server.service
-Wants=ovos_phal.service
-After=ovos_phal.service
+Wants=ovos-phal.service
+After=ovos-phal.service
[Container]
-ContainerName=ovos_audio
+ContainerName=ovos-audio
Image=docker.io/smartgic/ovos-audio:alpha
AutoUpdate=registry
LogDriver=journald
-HostName=ovos_audio
+HostName=ovos-audio
Network=host
Timezone=local
UserNS=keep-id:uid=%U,gid=%G
@@ -31,6 +31,3 @@ Volume=ovos_venv_audio:/home/ovos/.venv
[Service]
TimeoutStartSec=900
Restart=always
-
-[Install]
-WantedBy=multi-user.target default.target
diff --git a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_cli.container b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-cli.container
similarity index 81%
rename from buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_cli.container
rename to buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-cli.container
index c6b40f97..cb6e44fd 100644
--- a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_cli.container
+++ b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-cli.container
@@ -5,11 +5,11 @@ After=network-online.target
Wants=network-online.target
[Container]
-ContainerName=ovos_cli
+ContainerName=ovos-cli
Image=docker.io/smartgic/ovos-cli:alpha
AutoUpdate=registry
LogDriver=journald
-HostName=ovos_cli
+HostName=ovos-cli
Network=host
Timezone=local
UserNS=keep-id:uid=%U,gid=%G
@@ -20,6 +20,3 @@ Volume=/var/log/ovos:/var/log/mycroft
[Service]
TimeoutStartSec=900
Restart=always
-
-[Install]
-WantedBy=multi-user.target default.target
diff --git a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_core.container b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-core.container
similarity index 81%
rename from buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_core.container
rename to buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-core.container
index 5a5ff959..d91bbc13 100644
--- a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_core.container
+++ b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-core.container
@@ -7,21 +7,20 @@ Wants=pipewire.service
After=pipewire.service
Wants=ovos-bus-server.service
After=ovos-bus-server.service
-Wants=ovos_phal.service
-After=ovos_phal.service
+Wants=ovos-phal.service
+After=ovos-phal.service
[Container]
-ContainerName=ovos_core
+ContainerName=ovos-core
Image=docker.io/smartgic/ovos-core:alpha
AutoUpdate=registry
LogDriver=journald
-HostName=ovos_core
+HostName=ovos-core
Network=host
Timezone=local
UserNS=keep-id:uid=%U,gid=%G
EnvironmentFile=%h/.config/containers/env
AddDevice=/dev/snd
-AddDevice=/dev/gpiomem
Volume=%h/ovos/config:/home/ovos/.config/mycroft
Volume=%h/ovos/tmp:/tmp
Volume=%t/pipewire-0:/run/user/1000/pipewire-0:ro
@@ -32,6 +31,3 @@ Volume=%h/ovos/share:/home/ovos/.local/share/mycroft
[Service]
TimeoutStartSec=900
Restart=always
-
-[Install]
-WantedBy=multi-user.target default.target
diff --git a/buildroot-external/package/ovos-containers/ovos_gui.container b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-gui-shell.container
similarity index 72%
rename from buildroot-external/package/ovos-containers/ovos_gui.container
rename to buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-gui-shell.container
index b0c37a78..89147e83 100644
--- a/buildroot-external/package/ovos-containers/ovos_gui.container
+++ b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-gui-shell.container
@@ -5,26 +5,25 @@ After=network-online.target
Wants=network-online.target
Wants=pipewire.service
After=pipewire.service
-Wants=ovos_messagebus.service
-After=ovos_messagebus.service
-Wants=ovos_phal.service
-After=ovos_phal.service
-Wants=ovos_gui_websocket.service
-After=ovos_gui_websocket.service
+Wants=ovos-bus-server.service
+After=ovos-bus-server.service
+Wants=ovos-phal.service
+After=ovos-phal.service
+Wants=ovos-gui-websocket.service
+After=ovos-gui-websocket.service
[Container]
-ContainerName=ovos_gui
+ContainerName=ovos-gui-shell
Image=docker.io/smartgic/ovos-gui-shell:alpha
AutoUpdate=registry
LogDriver=journald
-HostName=ovos_gui
+HostName=ovos-gui-shell
Network=host
Timezone=local
UserNS=keep-id:uid=%U,gid=%G
EnvironmentFile=%h/.config/containers/env
AddDevice=/dev/snd
AddDevice=/dev/dri
-AddDevice=/dev/vchiq
AddDevice=/dev/input
Volume=%h/ovos/config:/home/ovos/.config/mycroft
Volume=%h/ovos/tmp:/tmp
@@ -37,6 +36,3 @@ Volume=/run/udev/data:/run/udev/data:ro
[Service]
TimeoutStartSec=900
Restart=always
-
-[Install]
-WantedBy=multi-user.target default.target
diff --git a/buildroot-external/package/ovos-containers/ovos_gui_websocket.container b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-gui-websocket.container
similarity index 73%
rename from buildroot-external/package/ovos-containers/ovos_gui_websocket.container
rename to buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-gui-websocket.container
index 0103ce13..bd3451fc 100644
--- a/buildroot-external/package/ovos-containers/ovos_gui_websocket.container
+++ b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-gui-websocket.container
@@ -3,15 +3,15 @@ Description=OpenVoiceOS GUI Websocket Service
After=local-fs.target
After=network-online.target
Wants=network-online.target
-Wants=ovos_messagebus.service
-After=ovos_messagebus.service
+Wants=ovos-bus-server.service
+After=ovos-bus-server.service
[Container]
-ContainerName=ovos_gui_websocket
+ContainerName=ovos-gui-websocket
Image=docker.io/smartgic/ovos-gui-websocket:alpha
AutoUpdate=registry
LogDriver=journald
-HostName=ovos_gui_websocket
+HostName=ovos-gui-websocket
Network=host
Timezone=local
UserNS=keep-id:uid=%U,gid=%G
@@ -22,6 +22,3 @@ Volume=ovos_gui_files:/home/ovos/.cache/ovos_gui_file_server
[Service]
TimeoutStartSec=900
Restart=always
-
-[Install]
-WantedBy=multi-user.target default.target
diff --git a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_listener.container b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-listener-dinkum.container
similarity index 84%
rename from buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_listener.container
rename to buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-listener-dinkum.container
index 7f18d4bb..64f997db 100644
--- a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_listener.container
+++ b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-listener-dinkum.container
@@ -7,15 +7,15 @@ Wants=pipewire.service
After=pipewire.service
Wants=ovos-bus-server.service
After=ovos-bus-server.service
-Wants=ovos_phal.service
-After=ovos_phal.service
+Wants=ovos-phal.service
+After=ovos-phal.service
[Container]
-ContainerName=ovos_listener
+ContainerName=ovos-listener-dinkum
Image=docker.io/smartgic/ovos-listener-dinkum:alpha
AutoUpdate=registry
LogDriver=journald
-HostName=ovos_listener
+HostName=ovos-listener-dinkum
Network=host
Timezone=local
UserNS=keep-id:uid=%U,gid=%G
@@ -32,6 +32,3 @@ Volume=ovos_venv_listener:/home/ovos/.venv
[Service]
TimeoutStartSec=900
Restart=always
-
-[Install]
-WantedBy=multi-user.target default.target
diff --git a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_messagebus.container b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-messagebus.container
similarity index 88%
rename from buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_messagebus.container
rename to buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-messagebus.container
index 79d28654..b3a3450d 100644
--- a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_messagebus.container
+++ b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-messagebus.container
@@ -5,11 +5,11 @@ After=network-online.target
Wants=network-online.target
[Container]
-ContainerName=ovos_messagebus
+ContainerName=ovos-messagebus
Image=docker.io/smartgic/ovos-messagebus:alpha
AutoUpdate=registry
LogDriver=journald
-HostName=ovos_messagebus
+HostName=ovos-messagebus
Network=host
Timezone=local
UserNS=keep-id:uid=%U,gid=%G
diff --git a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_phal.container b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-phal.container
similarity index 82%
rename from buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_phal.container
rename to buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-phal.container
index 98cc5186..ff22dce3 100644
--- a/buildroot-external/board/ovos/raspberrypi/rootfs-overlay/home/ovos/.config/containers/systemd/ovos_phal.container
+++ b/buildroot-external/rootfs-overlay/home/ovos/.config/containers/systemd/ovos-phal.container
@@ -9,26 +9,23 @@ Wants=ovos-bus-server.service
After=ovos-bus-server.service
[Container]
-ContainerName=ovos_phal
+ContainerName=ovos-phal
Image=docker.io/smartgic/ovos-phal:alpha
AutoUpdate=registry
LogDriver=journald
-HostName=ovos_phal
+HostName=ovos-phal
Network=host
Timezone=local
UserNS=keep-id:uid=%U,gid=%G
EnvironmentFile=%h/.config/containers/env
AddDevice=/dev/snd
-AddDevice=/dev/gpiomem
-AddDevice=/dev/ttyAMA0
Volume=%h/ovos/config:/home/ovos/.config/mycroft
Volume=%h/ovos/tmp:/tmp
Volume=%t/pipewire-0:/run/user/1000/pipewire-0:ro
Volume=ovos_venv_phal:/home/ovos/.venv
+Volume=/sys:/sys:ro
+Volume=/dev:/dev:ro
[Service]
TimeoutStartSec=900
Restart=always
-
-[Install]
-WantedBy=multi-user.target default.target
diff --git a/buildroot-external/rootfs-overlay/home/ovos/hivemind/config/.empty b/buildroot-external/rootfs-overlay/home/ovos/hivemind/config/.empty
new file mode 100644
index 00000000..e69de29b
diff --git a/buildroot-external/rootfs-overlay/home/ovos/hivemind/share/.empty b/buildroot-external/rootfs-overlay/home/ovos/hivemind/share/.empty
new file mode 100644
index 00000000..e69de29b