Greetings,

Recently I've decided to port my entire LMS installation over to docker
for more flexibility in the event that I decide to change server
hardware. (Also because spotty stopped working for me on MacOS Mojave
recently)
While I am able to get the library scanner to work and the new LMS
instance can connect to the same squeezebox players (boom, etc.), none
of the plugins that require advanced networking resources appear to
function.

Namely _Squeeze2Raop_ & _Spotty_

In @philippe_44 's documentation for the airplay plugin, there is a
section that mentions docker:
> _Firewall_: The firewall must let sq2r open various ports (3 UDP and 1
> TCP) whose start and range can be set using -a command line or <ports>
> option (random ports by default). In Windows, just create a new rule for
> c:\programdata\squeezecenter\cache\installedplugins\plugins\raopbridge\bin\squeeze2raop-win.exe
> in the firewall. If you use docker, you must set network to host mode

The last part about setting 'network mode' to 'host mode' is 'not
currently possible on MacOS '
(https://docs.docker.com.xy2401.com/docker-for-mac/networking/)because
docker itself runs within a virtual machine. As a result I am attempting
to use docker-compose with the various ports options to allow these
services to still function on my local network. Here's my docker-compose
file:

Code:
--------------------
    version: '3'
  services:
  lms:
  container_name: lms
  image: lmscommunity/logitechmediaserver
  volumes:
  - ~/Desktop/squeezebox_server/config:/config:rw
  - /Volumes/Dominic/Media/Audio/Music:/music:ro
  - ~/Desktop/squeezebox_server/playlists:/playlist:rw
  - ~/etc/localtime:/etc/localtime:ro
  - ~/etc/timezone:/etc/timezone:ro
  ports:
  - 9000:9000/tcp
  - 9090:9090/tcp
  - 3483:3483/tcp
  - 3483:3483/udp
  - 4070:4070/tcp
  - 4070:4070/udp
  - 5353:5353/tcp
  - 5353:5353/udp
  - 9010:9010/tcp
  - 9010:9010/udp
  - 9011:9011/tcp
  - 9011:9011/udp
  - 9012:9012/tcp
  - 9012:9012/udp
  - 9013:9013/tcp
  - 9013:9013/udp
  - 9014:9014/tcp
  - 9014:9014/udp
  - 9015:9015/tcp
  - 9015:9015/udp
  - 9016:9016/tcp
  - 9016:9016/udp
  restart: always
  
--------------------


You can see I'm manually opening ports 9010 to 9016 on both UDP and TCP
because in the _Squeeze2Raop_ configuration I have set *Authorized ports
to 9010:6*.
In spite of doing this, it is unable to find any of the airplay
renderers on my network that the MacOS installation can find.
I have enabled debug mode 'all items below' but still the log messages
are unhelpful:

Code:
--------------------
    Starting Squeeze2raop: 
/config/cache/InstalledPlugins/Plugins/RaopBridge/Bin/squeeze2raop-x86-64-static
 -Z -I -b 172.18.0.2 -f /config/logs/raopbridge.log -d all=debug -x 
/config/prefs/raopbridge.xml
  [12:11:32.148758] main:1572 Starting squeeze2raop version: v0.4.63.1 (Feb 21 
2022 @ 18:43:45)
  
  [12:11:32.150523] register_pcm:306 using pcm to decode aif,pcm
  [12:11:32.150979] register_mad:429 using mad to decode mp3
  [12:11:32.151389] register_alac:533 using alac to decode alc
  [12:11:32.151804] register_flac:308 using flac to decode flc
  [12:11:32.152225] register_faad:648 using faad to decode aac
  [12:11:32.152558] register_vorbis:339 using vorbis to decode ogg
  [12:11:32.152980] register_opus:282 using opus to decode ops
  [12:11:32.153320] register_soxr:391 using soxr for resampling
  [12:11:32.153694] register_soxr:391 using soxr for resampling
  [12:11:32.168830] Start:1314 Binding to 172.18.0.2
  [12:11:32.169482] StartActiveRemote:1202 DACP port: 9011
--------------------


The actual IP of the host machine is 192.168.1.42 but if I set it to
that it does not work :/

Code:
--------------------
    [11:43:31.260904] Start:1318 Cannot start mDNS searcher
  [11:43:31.261407] main:1609 Cannot start, exiting
--------------------


With _Spotty_, there is no built in documentation that refers to the
ports required to complete the authorization handshake process.
I have found 'this form post'
(https://forums.slimdevices.com/showthread.php?115621-Problem-with-Spotty-Spotify-Authorization)
that mentions having *4070* & *5353/UDP* open, but when I add 5353 to my
port mapping I find that docker-compose can no longer start because,
well, that port is used on MacOS by Bonjour's MDNS responder:

Code:
--------------------
    
  &#9584;&#9472; docker-compose up
  Recreating lms ... error
  ERROR: for lms  Cannot start service lms: Ports are not available: listen udp 
0.0.0.0:5353: bind: address already in use
  
  &#9584;&#9472; sudo lsof -i :5353
  COMMAND   PID           USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
  mDNSRespo 190 _mdnsresponder    7u  IPv4 0xe7c7cf8622705569      0t0  UDP 
*:mdns
  mDNSRespo 190 _mdnsresponder    8u  IPv6 0xe7c7cf86227052a9      0t0  UDP 
*:mdns
  
--------------------


I'm not sure how to proceed here unfortunately. If anyone has any ideas,
please let me know.


------------------------------------------------------------------------
kezz's Profile: http://forums.slimdevices.com/member.php?userid=65905
View this thread: http://forums.slimdevices.com/showthread.php?t=116893

_______________________________________________
Squeezecenter mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/squeezecenter

Reply via email to