summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2024-02-22 00:33:20 +0100
committerChristian Pointner <equinox@spreadspace.org>2024-02-22 00:33:20 +0100
commit54b6f83e4bd741f2ddab1f849aaa0c6c3770bce4 (patch)
tree9f6cf61ae274d93d5375dee9ba070f272afce45e
parentele-tarvos: prepare for emc playout server (diff)
ele-hpws-mini(1,2): prepare for e24
-rw-r--r--dan/ele-hpws-mini1.yml39
-rw-r--r--dan/ele-hpws-mini2.yml31
-rw-r--r--inventory/host_vars/ele-hpws-mini1.yml49
-rw-r--r--inventory/host_vars/ele-hpws-mini2.yml40
-rw-r--r--roles/streaming/browser-kiosk/defaults/main.yml6
-rw-r--r--roles/streaming/browser-kiosk/tasks/main.yml8
6 files changed, 81 insertions, 92 deletions
diff --git a/dan/ele-hpws-mini1.yml b/dan/ele-hpws-mini1.yml
index 657ff5d8..2d2690b6 100644
--- a/dan/ele-hpws-mini1.yml
+++ b/dan/ele-hpws-mini1.yml
@@ -12,41 +12,4 @@
- name: Payload Setup
hosts: ele-hpws-mini1
roles:
- - role: apt-repo/obs-studio
- - role: apt-repo/spreadspace
- - role: ws/base
- - role: core/admin-users
- post_tasks:
- - name: install chromium start script
- copy:
- content: |
- #!/bin/sh
-
- SITE=$1
- if [ -z "$SITE"]; then
- SITE="https://remote.elev8.at/stream-ui/player.html#control={{ hostvars['ele-jitsi'].jitsi_meet_streamui.default_control_room }}&displayName={{ host_name }}"
- fi
- DISPLAY=:0 chromium "$SITE" --window-position=1920,0 --disable-infobars --use-fake-ui-for-media-stream --kiosk --temp-profile --start-maximized --enabled --enable-logging --autoplay-policy=no-user-gesture-required
- dest: /usr/local/bin/jitsi-display.sh
- mode: 0755
-
- - name: install mpv play script
- copy:
- content: |
- #!/bin/sh
- exec mpv --geometry=1920x1080+1920+0 -fs --osd-level=0 "$@"
- dest: /usr/local/bin/play-video.sh
- mode: 0755
-
- - name: create pulse daemon config directory
- file:
- path: /etc/pulse/daemon.conf.d
- state: directory
-
- - name: force pulseaudio sample rates to 48kHz
- copy:
- content: |
- avoid-resampling = false
- default-sample-rate = 48000
- alternate-sample-rate = 48000
- dest: /etc/pulse/daemon.conf.d/force-48k.conf
+ - role: streaming/browser-kiosk
diff --git a/dan/ele-hpws-mini2.yml b/dan/ele-hpws-mini2.yml
new file mode 100644
index 00000000..800f3e8c
--- /dev/null
+++ b/dan/ele-hpws-mini2.yml
@@ -0,0 +1,31 @@
+---
+- name: Basic Setup
+ hosts: ele-hpws-mini2
+ roles:
+ - role: apt-repo/base
+ - role: core/base
+ - role: core/sshd/base
+ - role: core/zsh
+ - role: core/ntp
+ - role: core/cpu-microcode
+
+- name: Payload Setup
+ hosts: ele-hpws-mini2
+ roles:
+ - role: apt-repo/spreadspace
+ - role: ws/base
+ - role: core/admin-users
+ post_tasks:
+ - name: install chromium start script
+ copy:
+ content: |
+ #!/bin/sh
+
+ SITE=$1
+ if [ -z "$SITE"]; then
+ SITE="https://remote.elev8.at/stream-ui/player.html#control={{ hostvars['ele-jitsi'].jitsi_meet_streamui.default_control_room }}&displayName={{ host_name }}"
+ fi
+ export DISPLAY=:0.0
+ exec chromium-browser "$SITE" --disable-infobars --use-fake-ui-for-media-stream --kiosk --temp-profile --start-maximized --enabled --enable-logging --autoplay-policy=no-user-gesture-required
+ dest: /usr/local/bin/jitsi-display.sh
+ mode: 0755
diff --git a/inventory/host_vars/ele-hpws-mini1.yml b/inventory/host_vars/ele-hpws-mini1.yml
index 207414f4..8d09f6da 100644
--- a/inventory/host_vars/ele-hpws-mini1.yml
+++ b/inventory/host_vars/ele-hpws-mini1.yml
@@ -1,16 +1,4 @@
---
-debian_preseed_language: de
-debian_preseed_country: AT
-debian_preseed_locales:
- - de_AT.UTF-8
- - de_DE.UTF-8
- - en_US.UTF-8
-
-debian_preseed_no_splash: no
-debian_preseed_install_tasks:
- - xubuntu-desktop
-
-
install:
efi: yes
disks:
@@ -37,41 +25,30 @@ install:
- "consoleblank=0"
network:
- nameservers: "{{ network_zones.emc.dns }}"
+ nameservers: "{{ network_zones.lan.dns }}"
domain: "{{ host_domain }}"
primary: &_network_primary_
name: eno1
- address: "{{ network_zones.emc.prefix | ansible.utils.ipaddr(network_zones.emc.offsets[inventory_hostname]) }}"
- gateway: "{{ network_zones.emc.gateway }}"
+ address: "{{ network_zones.lan.prefix | ansible.utils.ipaddr(network_zones.lan.offsets[inventory_hostname]) }}"
+ gateway: "{{ network_zones.lan.gateway }}"
interfaces:
- *_network_primary_
- - name: eno1.18
- address: "{{ network_zones.lan.prefix | ansible.utils.ipaddr(network_zones.lan.offsets[inventory_hostname]) }}"
-
-apt_repo_components:
- - main
- - restricted
- - universe
- - multiverse
base_modules_blacklist: "{{ base_modules_blacklist_all_but_sound }}"
-ssh_users_root:
- - equinox
- - datacop
-admin_users_host:
- - equinox
+browser_kiosk_xinit_commands_extra: |
+ xrandr --output HDMI-1 --mode 1920x1080 --rate 50
-ws_base_lightdm_defaults:
- autologin-user: elevate
- autologin-user-timeout: 0
+browser_kiosk_asound_conf: |
+ pcm.hdmi0 { type hw; card HDMI; device 3; }
+ ctl.hdmi0 { type hw; card HDMI; device 3; }
+ pcm.analog { type hw; card PCH; }
+ ctl.analog { type hw; card PCH; }
-ws_base_xrandr_setup_script: |
- #!/bin/bash
+ pcm.!default pcm.analog
+ ctl.!default ctl.analog
- xrandr --output DP-1 --mode 1920x1080 --rate 50 --primary
- xrandr --output HDMI-2 --mode 1920x1080 --rate 25 --right-of DP-1
- exit 0
+browser_kiosk_url: "https://remote.elev8.at/stream-ui/player.html#control={{ hostvars['ele-jitsi'].jitsi_meet_streamui.default_control_room }}&displayName={{ host_name }}"
diff --git a/inventory/host_vars/ele-hpws-mini2.yml b/inventory/host_vars/ele-hpws-mini2.yml
index e8d6bbe2..a8717ecd 100644
--- a/inventory/host_vars/ele-hpws-mini2.yml
+++ b/inventory/host_vars/ele-hpws-mini2.yml
@@ -1,23 +1,15 @@
---
-debian_preseed_language: de
-debian_preseed_country: AT
-debian_preseed_locales:
- - de_AT.UTF-8
- - de_DE.UTF-8
- - en_US.UTF-8
+ubuntu_autoinstall_locale: de_AT
+ubuntu_autoinstall_keyboard_layout: de
+ubuntu_autoinstall_keyboard_variant: nodeadkeys
+ubuntu_autoinstall_timezone: Europe/Vienna
-debian_preseed_no_splash: no
-debian_preseed_install_tasks:
- - xubuntu-desktop
-
-
-install_playbook: ele-emcplayer
-install_dhcp: yes
+ubuntu_autoinstall_desktop: xubuntu
install:
efi: yes
disks:
- primary: /dev/disk/by-id/ata-WDC_WDS120G2G0A-00JH30_200854444012
+ primary: /dev/disk/by-id/ata-WDC_WDS120G2G0A-00JH30_200854443001
system_lvm:
volumes:
- name: root
@@ -40,12 +32,12 @@ install:
- "consoleblank=0"
network:
- nameservers: "{{ network_zones.guest.dns }}"
+ nameservers: "{{ network_zones.lan.dns }}"
domain: "{{ host_domain }}"
primary: &_network_primary_
name: eno1
- address: "{{ network_zones.guest.prefix | ansible.utils.ipaddr(network_zones.guest.offsets[inventory_hostname]) }}"
- gateway: "{{ network_zones.guest.gateway }}"
+ address: "{{ network_zones.lan.prefix | ansible.utils.ipaddr(network_zones.lan.offsets[inventory_hostname]) }}"
+ gateway: "{{ network_zones.lan.gateway }}"
interfaces:
- *_network_primary_
@@ -56,11 +48,23 @@ apt_repo_components:
- universe
- multiverse
+
base_modules_blacklist: "{{ base_modules_blacklist_all_but_sound }}"
admin_users_host:
- equinox
+
+ws_base_extra_packages:
+ - chromium-browser
+
ws_base_lightdm_defaults:
- autologin-user: player
+ autologin-user: elevate
autologin-user-timeout: 0
+
+ws_base_xrandr_setup_script: |
+ #!/bin/bash
+
+ xrandr --output HDMI-1 --mode 1920x1080 --rate 50 --primary
+
+ exit 0
diff --git a/roles/streaming/browser-kiosk/defaults/main.yml b/roles/streaming/browser-kiosk/defaults/main.yml
index 3fac47d2..c137ba58 100644
--- a/roles/streaming/browser-kiosk/defaults/main.yml
+++ b/roles/streaming/browser-kiosk/defaults/main.yml
@@ -2,6 +2,12 @@
# browser_kiosk_xinit_commands_extra: |
# xrandr --output HDMI-1 --mode 1920x1080 --rate 50
+# browser_kiosk_asound_conf: |
+# pcm.analog { type hw; card PCH; }
+# ctl.analog { type hw; card PCH; }
+# pcm.!default pcm.analog
+# ctl.!default ctl.analog
+
browser_kiosk_url: "http://127.0.0.1:4001/output/ABCD"
browser_kiosk_run_script: |
#!/bin/sh
diff --git a/roles/streaming/browser-kiosk/tasks/main.yml b/roles/streaming/browser-kiosk/tasks/main.yml
index fbaf11f6..f96abf42 100644
--- a/roles/streaming/browser-kiosk/tasks/main.yml
+++ b/roles/streaming/browser-kiosk/tasks/main.yml
@@ -10,6 +10,7 @@
- xterm
- ratpoison
- chromium
+ - alsa-utils
state: present
- name: create kiosk user
@@ -22,6 +23,7 @@
groups:
- video
- render
+ - audio
state: present
- name: create empty user dir for kiosk
@@ -81,6 +83,12 @@
group: kiosk
mode: 0755
+- name: install custom asound.conf
+ when: browser_kiosk_asound_conf is defined
+ copy:
+ content: "{{ browser_kiosk_asound_conf }}"
+ dest: /etc/asound.conf
+
- name: create override direcotry for getty@tty1 service unit
file:
path: /etc/systemd/system/getty@tty1.service.d