Allows to build an Docker-Image for Logitechs Media Server (aka Squeezebox-Server)
Before starting the container using a docker-compose.yml
(examples below):
- find out the group-id of your files-share
On startup the container will use the group-id the get read-access to your files. This way, no recursive
chmod/chown
is needed to allow the server read_access to these files.
- given that
ls -al /home/of/my/music
will print-rw-rw-r-- 1 someuser somegroup music
- call
getent group somegroup
which will output something likesomegroup:x:1002:
- note the output
1002
and put this as environment-variable in the compose-file
- three important folders (that should / could be mounted)
/var/log/squeezeboxserver
: contains the log-files/var/lib/squeezeboxserver
: contains the instance-data (plugins, cache, preferences) allowing reboots of the container without loosing your preferences/mnt/music
: the location of the mount is not important (because it's configurable through the web-interface), but it should be available and readable by the group you've given as group-id
- Once started, access it using the port 9000 (i.e. http://localhost:9000)
You could (see also docker-compose.yml):
- either using the image(s) on docker hub
- or building you're own image
Example docker-compose.yml
version: '2'
services:
logitechmediaserver:
image: gaerfield/logitechmediaserver:7.9.1
restart: always
ports:
- 9000:9000
- 9090:9090
- 3483:3483
- 3483:3483/udp
environment:
- GROUP_ID=116
volumes:
- /etc/localtime:/etc/localtime:ro
- ./instancedata/prefs:/var/lib/squeezeboxserver
- ./logs:/var/log/squeezeboxserver
- /mnt/shares/media/music:/mnt/music
DOWNLOAD_URL: The Build-Argument DOWNLOAD_URL
is optional. Use it to choose a custom installation-package (i.e. for ARM-Devices like the Rasperry Pi). You can choose from different versions and packages in Logitechs Download Section.
image-name: The Image-Name image: ...
is optional. The default-name for the image depends on your compose-file (in this example it would be logitechmediaserver:latest
).
Example docker-compose.yml
version: '2'
services:
logitechmediaserver:
build:
context: https://github.com/gaerfield/logitechmediaserver-docker.git
args: # optional
DOWNLOAD_URL: "http://downloads-origin.slimdevices.com/LogitechMediaServer_v7.9.1/logitechmediaserver_7.9.1_amd64.deb"
image: logitechmediaserver:7.9.1 #optional
restart: always
ports:
- 9000:9000
- 9090:9090
- 3483:3483
- 3483:3483/udp
environment:
- GROUP_ID=116
volumes:
- /etc/localtime:/etc/localtime:ro
- ./instancedata/prefs:/var/lib/squeezeboxserver
- ./logs:/var/log/squeezeboxserver
- /mnt/shares/media/music:/mnt/music
- gaerfield/logitechmediaserver: docker hub image build from this repo
- related work:
- Download Links:
- latest Logitech Media Server
- choose from different packages and versions here
- Documentation on LogitechMediaServer: