Run the kiosk on Chromium, and take the stray media server off musicdolphin
Chromium: same page, same machine, idle, Firefox 24.2% of a core against Chromium's 11.4%. The build comes from archive.raspberrypi.com (a "+rpt" version) and is patched for this board's V3D GPU; Debian ships a much older chromium, so the archive matters. The whole userland here is 32-bit armhf on a 64-bit kernel, which Firefox handles worse than Chromium does. --use-gl=egl, --enable-gpu-rasterization, --ignore-gpu-blocklist and --enable-zero-copy are what keep rasterization on the GPU: Chromium's blocklist does not recognise this driver and silently falls back to software without them. pi_kiosk_browser: firefox still works, as the fallback if an update ever regresses. Debug mode also gains xdotool, scrot and --remote-debugging-port=9222 (on 127.0.0.1), because firing XTEST key events at a window lands about half the time and a benchmark you cannot verify the state of is worse than none. pi_squeezeserver gains an absent path, and mediapis.yml derives its state from mediapi_has_squeezeserver, which defaults to false for the whole group. false means "actively remove", not "skip": musicdolphin has been running a Logitech Media Server that no playbook installs and nothing talks to - every squeezelite in the fleet points at pi_squeezelite_squeezeserver (192.168.178.80, the server) - while costing ~30 MB resident and ~47 MB of swap on a 2 GB Pi that also drives the kiosk. The absent path stops it, purges the package, unregisters it from sysdweb, drops the port 80 -> 9000 redirect and deletes its database and logs. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
45
roles/pi_squeezeserver/tasks/present.yml
Normal file
45
roles/pi_squeezeserver/tasks/present.yml
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
- name: Install packages required for squeeze server
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- libsox-fmt-all
|
||||
- libflac-dev
|
||||
- libfaad2
|
||||
- libmad0
|
||||
- perl-openssl-defaults
|
||||
- libnet-ssleay-perl
|
||||
- libio-socket-ssl-perl
|
||||
- nasm
|
||||
- build-essential
|
||||
- iptables-persistent
|
||||
cache_valid_time: 7200
|
||||
state: present
|
||||
- name: Copy squeezeserver package
|
||||
ansible.builtin.copy:
|
||||
src: logitechmediaserver_8.4.0_arm.deb
|
||||
dest: /tmp
|
||||
mode: "0644"
|
||||
- name: Install squeezeserver package
|
||||
ansible.builtin.apt:
|
||||
deb: /tmp/logitechmediaserver_8.4.0_arm.deb
|
||||
- name: Enable sysdweb autostart
|
||||
ansible.builtin.systemd:
|
||||
name: logitechmediaserver
|
||||
state: started
|
||||
enabled: "yes"
|
||||
- name: Add to sysdweb
|
||||
ansible.builtin.include_role:
|
||||
name: pi_sysdweb
|
||||
vars:
|
||||
pi_sysdweb_name: logitechmediaserver
|
||||
- name: Forward port 80 to 9000
|
||||
ansible.builtin.iptables:
|
||||
table: nat
|
||||
chain: PREROUTING
|
||||
in_interface: eth0
|
||||
protocol: tcp
|
||||
match: tcp
|
||||
destination_port: "80"
|
||||
jump: REDIRECT
|
||||
to_ports: "9000"
|
||||
comment: Redirect web traffic to port 9000
|
||||
Reference in New Issue
Block a user