# iSponsorBlockTV — VPS (ROOTLESS PODMAN) port of the home server's # ~/Server/isponsorblocktv, migrated 2026-08-12. # # Why this works off-LAN: the configured device is pinned by `screen_id`, which uses # YouTube's CLOUD lounge API rather than a direct LAN connection to the Apple TV. So it # does not need to be on the same network as the TV. (If you ever re-pair a device via # SSDP/mDNS discovery, that step DOES need LAN access and must be done from home.) # # Rootless adaptations: # - `user: 1000:1000` REPLACED with userns_mode keep-id. Under a rootless userns the # original would resolve to subuid 525287 and lose access to its own gib-owned data # directory -- the exact failure that kept n8n broken for two months. See AGENTS.md §3.2. # - :Z on the data mount (SELinux Enforcing). # - network_mode: host retained to match home. It works fine rootless. services: isponsorblocktv: image: ghcr.io/dmunozv04/isponsorblocktv:latest container_name: iSponsorBlockTV network_mode: host userns_mode: "keep-id:uid=1000,gid=1000" environment: - TZ=America/New_York volumes: - './volumes/isponsorblocktv:/app/data:Z' labels: com.centurylinklabs.watchtower.enable: 'true' tty: true stdin_open: true restart: unless-stopped