dockerfiles/mpd
kev c36834b0b3 update 2022-06-30 18:37:49 +08:00
..
data update mpd 2022-06-30 16:44:06 +08:00
Dockerfile update mpd 2022-06-30 18:30:06 +08:00
README.md update 2022-06-30 18:37:49 +08:00
docker-compose.yml update mpd 2022-06-30 16:44:06 +08:00

Music Player Daemon

Music Player Daemon (MPD) is a flexible, powerful, server-side application for playing music. Through plugins and libraries it can play a variety of sound files while being controlled by its network protocol.

👍 easypi/mpd-arm works on Raspberry Pi very well.

docker-compose.yml

version: "3.8"

services:

  mpd:
    image: vimagick/mpd
    ports:
      - "6600:6600"
      - "8800:8800"
    volumes:
      - ./data/config:/root/.config
      - ./data/music:/var/lib/mpd/music
      - ./data/playlists:/var/lib/mpd/playlists
    devices:
      - /dev/snd
    restart: unless-stopped

Server Setup

$ mkdir -p ~/fig/mpd/{config,music,playlists}
$ cd ~/fig/mpd/

$ wget https://upload.wikimedia.org/wikipedia/commons/d/d5/Pop_Goes_the_Weasel.ogg -O data/music/test.ogg

# FIXME: OUTDATED
$ curl -s -X POST -H 'Content-Length: 0' http://www.shoutcast.com/Home/Top |
    jq '.[].ID' |
      parallel --eta -k curl -s 'http://yp.shoutcast.com/sbin/tunein-station.m3u?id={}' |
        sed '1!s@#EXTM3U@@' |
          cat -s > data/playlists/shoutcast.m3u

$ cat > data/playlists/microphone.m3u << _EOF_
#EXTM3U
#EXTINF:-1,microphone
alsa://plughw:1,0
_EOF_

$ docker-compose up -d

$ docker-compose exec mpd sh
>>> mpc help
>>> mpc update
>>> mpc ls | mpc add
>>> mpc playlist
>>> mpc repeat on
>>> mpc random on
>>> mpc
>>> mpc clear
>>> mpc lsplaylists
>>> mpc load shoutcast
>>> mpc play
>>> exit

$ docker-compose exec mpd ncmpcpp
...........
...........
... TUI ...
...........
...........

Client Setup

Host: x.x.x.x
Port: 6600
Streaming host: x.x.x.x
Streaming port: 8800

Read More