Sign inSign up

epoupon/lms

By epoupon

•Updated 12 days ago

Lightweight Music Server. Access your self-hosted music using a web interface.

Image
20

500K+

epoupon/lms repository overview

⁠LMS

LMS is a self-hosted music streaming software. See official website⁠.

⁠Usage

In order to run this LMS image, you will have to use at least two volumes:

  1. Working data (write access rights).
  2. Music directory to be scanned (read-only access rights), add a volume for each library you want to scan.

Note: make sure to run the docker container using an unprivileged user

Example:

docker run \
--restart=unless-stopped \
--user <user_id:group_id> \
-p <port>:5082 \
-v <path_to_music>:/music:ro \
-v <path_to_persistent_data>:/var/lms:rw \
epoupon/lms

In the LMS administration interface, add /music as a library (you can add as many libraries as necessary).

⁠Custom configuration file

LMS uses a default configuration file, see https://github.com/epoupon/lms/blob/master/conf/lms.conf⁠.

You can specify a custom configuration file using the first argument of the entrypoint executable.

⁠Example 1: Adding a configuration file in the persistent folder
copy lms/conf/lms.conf <path_to_persistent_data>/lms-custom.conf
docker run \
--restart=unless-stopped \
--user <user_id:group_id> \
-p <port>:5082 \
-v <path_to_music>:/music:ro \
-v <path_to_persistent_data>:/var/lms:rw \
epoupon/lms /var/lms/lms-custom.conf
⁠Example 2: using a dedicated volume
copy lms/conf/lms.conf <path_to_custom_conf_file>/lms-custom.conf
docker run \
--restart=unless-stopped \
--user <user_id:group_id> \
-p <port>:5082 \
-v <path_to_music>:/music:ro \
-v <path_to_persistent_data>:/var/lms:rw \
-v <path_to_custom_conf_file>/lms-custom.conf:/etc/lms-custom.conf:ro \
epoupon/lms /etc/lms-custom.conf

⁠Jukebox mode

LMS provides a Jukebox mode that allows the server to play music directly on the host system audio output.

By default, the Docker image uses PulseAudio for audio output. One way to use it is to forward the PulseAudio UNIX socket and set the appropriate environment variable.

Add the following option to your docker run command:

-e PULSE_SERVER=unix:/run/user/<user_id>/pulse/native
-v /run/user/<user_id>/pulse:/run/user/<user_id>/pulse

Tag summary

Content type

Image

Digest

sha256:9bd062a24…

Size

37.1 MB

Last updated

12 days ago

docker pull epoupon/lms