Files
Martin Bauer cb0ece0478 Keep the media-pi roles working on trixie
- pi_hifiberry_amp: the boot config lives at /boot/firmware/config.txt.
- pi_sysdweb: install python3-dbus and python3-systemd from apt, which trixie ships at
  the versions sysdweb needs; bookworm gets the headers pip needs to build dbus-python
  1.4 itself.
- pi_squeezeserver: trixie images have no iptables, and so cannot have the port 80
  redirect that absent.yml removes - skip that step there instead of failing.
- pi_modern_shell_env, pi_slint_frontend: read facts through `ansible_facts` rather than
  the deprecated injected `ansible_*` variables.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 23:14:18 +02:00
..

pi_squeezeserver

The Logitech Media Server (logitechmediaserver, the daemon formerly known as squeezeboxserver), plus its pi_sysdweb registration and a port 80 -> 9000 redirect.

pi_squeezeserver_state picks a direction:

  • present - install it and run it (tasks/present.yml).
  • absent - stop it, purge the package, unregister it from sysdweb, drop the iptables redirect and delete /var/lib/squeezeboxserver and /var/log/squeezeboxserver (tasks/absent.yml).

mediapis.yml derives the state from mediapi_has_squeezeserver, which defaults to false in group_vars/mediapis.yml. That default is deliberate and is a policy, not an oversight: no media pi runs its own LMS. Every squeezelite in the fleet is pointed at pi_squeezelite_squeezeserver (192.168.178.80, the server) by inventory.yml, so a server running on a pi has no clients. musicdolphin had one anyway - left over from earlier provisioning, since no playbook has installed it - and on a 2 GB Pi also driving a kiosk browser it was costing ~30 MB resident and ~47 MB of swap for nothing.

Set mediapi_has_squeezeserver: true in a host's vars if one ever genuinely needs it.