[ALL] Split quadlets for different architectures

This commit is contained in:
j1nx 2023-11-14 09:58:06 +00:00
parent e7f97a019c
commit 2ddd03d651
19 changed files with 288 additions and 0 deletions

View File

@ -0,0 +1,36 @@
[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

View File

@ -0,0 +1,42 @@
[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

View File

@ -0,0 +1,32 @@
[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

View File

@ -0,0 +1,29 @@
[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

View File

@ -0,0 +1,35 @@
[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

View File

@ -0,0 +1,25 @@
[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

View File

@ -0,0 +1,27 @@
[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

View File

@ -0,0 +1,36 @@
[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

View File

@ -0,0 +1,24 @@
[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

View File

@ -1,5 +1,7 @@
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
XDG_RUNTIME_DIR=/run/user/1000
PULSE_SERVER=unix:/run/user/1000/pulse/native
PULSE_COOKIE=/home/ovos/.config/pulse/cookie
QT_QPA_PLATFORM=eglfs
QT_QPA_EGLFS_HIDECURSOR=1
QT_QPA_EGLFS_KMS_ATOMIC=1