Add ncmpc
[sima-docker.git] / README.rst
1 Description
2 ===========
3
4 This image contains MPD, icecast2 and MPD_sima in order to serve an audio stream over http.
5
6 MPD is looking for music in */music* (``music_directory`` option) and keeps its
7 dataset in */var/lib/mpd* (options: ``playlist_directory``, ``{db,sticker,state}_file``).
8
9 tl;dr
10 =====
11
12 ::
13
14     MUSIC=/path/to/my/music/library ./do start
15
16 Then point your MPD client to ``127.0.0.1:6601``. Audio stream from http://127.0.0.1:8001/sima.ogg .
17
18 You can set listening adress/port if needed::
19
20     MUSIC=/path/to/my/music/library \
21     LISTEN=192.168.0.10 \
22     ICEPORT=80 MPDPORT=6666
23     ./do start
24     ./do discover
25
26 ncmpc users can launch it from the container::
27
28     docker exec -it sima ncmpc-sima
29
30
31 Configuration
32 =============
33
34 Running a container to play to content of your music library:
35
36 ::
37
38     LISTEN=127.0.0.1
39     MUSIC="/path/to/my/music/library"
40     OPTIONS="-p ${LISTEN}:8001:8000"
41     OPTIONS="${OPTIONS} -p ${LISTEN}:6601:6600"
42     OPTIONS="${OPTIONS} --volume ${MUSIC}:/music:ro"
43     docker run ${OPTIONS} --name sima kaliko/sima
44
45 The container ``sima`` is running with the following configuration:
46
47   - Music directory: /path/to/my/music/library
48   - Audio stream available from http://127.0.0.1:8001
49   - MPD available on 127.0.0.1:6601
50
51 It is quite useful to save MPD database once it has read all your Music library.
52 In order to save it for later use with another container use a volume.
53
54 Here is an example on how to mount your music directory and save MPD database in ${PWD}/data:
55
56 ::
57
58     mkdir -p ${PWD}/data
59     OPTIONS="-P --detach=true"
60     OPTIONS="${OPTIONS} -v ~/Music:/music:ro -v ${PWD}/data:/var/lib/mpd"
61     docker run ${OPTIONS} --name sima kaliko/sima
62     # Discover ports with "docker port sima"
63
64 Default option to run mpd-sima is "--log /var/log/mpd/mpd-sima.log".
65
66 Environment variable ``MPD_SIMA`` can be set to override default command line options.
67
68 This is especially useful to launch a container with preloaded configuration files:
69
70   - ``/etc/mpd-sima.album.cfg`` : Album mode queuing method
71   - ``/etc/mpd-sima.top.cfg`` : Top tracks queuing method
72
73 Running the album mode::
74
75     OPTIONS="-P --detach=true"
76     OPTIONS="${OPTIONS} -v ~/Music:/music:ro -v ${PWD}/data:/var/lib/mpd"
77     docker run --env="MPD_SIMA=--config /etc/mpd-sima.album.cfg" ${OPTIONS} --name sima kaliko/sima
78     # Discover ports with "docker port sima"
79
80
81 To run mpd-sima with your own configuration, mount the file in the running container.
82 When /etc/mpd-sima.cfg is present in the container the default is to read it.
83
84 ::
85
86     OPTIONS="-P --detach=true"
87     OPTIONS="${OPTIONS} -v ~/Music:/music:ro -v ${PWD}/data:/var/lib/mpd"
88     docker run -v ./my.config:/etc/mpd-sima.cfg ${OPTIONS} --name sima kaliko/sima
89     # Discover ports with "docker port sima"
90