diff options
author | Christian Pointner <equinox@spreadspace.org> | 2024-02-22 00:33:20 +0100 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2024-02-22 00:33:20 +0100 |
commit | 54b6f83e4bd741f2ddab1f849aaa0c6c3770bce4 (patch) | |
tree | 9f6cf61ae274d93d5375dee9ba070f272afce45e | |
parent | ele-tarvos: prepare for emc playout server (diff) |
ele-hpws-mini(1,2): prepare for e24
-rw-r--r-- | dan/ele-hpws-mini1.yml | 39 | ||||
-rw-r--r-- | dan/ele-hpws-mini2.yml | 31 | ||||
-rw-r--r-- | inventory/host_vars/ele-hpws-mini1.yml | 49 | ||||
-rw-r--r-- | inventory/host_vars/ele-hpws-mini2.yml | 40 | ||||
-rw-r--r-- | roles/streaming/browser-kiosk/defaults/main.yml | 6 | ||||
-rw-r--r-- | roles/streaming/browser-kiosk/tasks/main.yml | 8 |
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 |