8. Mopidy

8.1. Docker Compose

Create a docker-compose.yml file:

version: "3"
services:
  mopidy:
    image: rawdlite/mopidy
    container_name: mopidy
    devices:
      - "/dev/snd"
    ports:
      - "6600:6600"
      - "6680:6680"
    restart: always
    volumes:
      - ~/.config/:/root/.config/
      - /data/music/:/data/music/
  mysql:
    image: linuxserver/mariadb
    restart: unless-stopped
    container_name: mysql
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=b4FUk4mF>3As3aA
      - TZ=Europe/Berlin
      - MYSQL_DATABASE=romprdb
      - MYSQL_USER=rompr
      - MYSQL_PASSWORD=romprdbpass
    volumes:
      - ./db_config:/config
    ports:
      - "3306:3306"
  rompr:
    image: rawdlite/rompr
    container_name: rompr
    restart: always
    ports:
      - "80:80"

Now lets start the containers

docker-compose up -d

If this gets an error on the tinkerboard. Edit /boot/boot.scr

setenv bootargs "... systemd.unified_cgroup_hierarchy=0 ...

then

mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr

reboot and test with

cat /proc/cmdline

it should say systemd.unified_cgroup_hierarchy=0. Docker should now run. We can test this with

docker ps

8.2. Config Mopidy

Mopidy configfile is ~/.config/mopidy/mopidy.conf

[core]
max_tracklist_length = 5000
restore_state = true

[audio]
mixer = none
output = alsasink device="hw:CARD=OnBoard,DEV=2"

[file]
enabled = true
media_dirs =
  /data/music/music_data|MUSIC
follow_symlinks = true
metadata_timeout = 1000
excluded_file_extensions =
  .directory
  .html
  .jpeg
  .jpg
  .log
  .nfo
  .pdf
  .png
  .txt
  .zip
show_dotfiles = false

[softwaremixer]
enabled = false

[mpd]
enabled = true
hostname = ::
port = 6600

[http]
enabled = true
hostname = ::
port = 6680

To see how mopidy is doing:

docker logs mopidy

To see the effective configuration

docker exec -it mopidy mopidy config

8.3. Run Rompr

Browse to the ip of the tinder board. Setup Rompr. This gives an missing super privilege error.

docker exec -it mysql mysql -u root -p

Use password from docker-compose.yml file.

SET GLOBAL log_bin_trust_function_creators = 1;

Now rompr can use mysql. Now enter the ip of the tinder board in the field MPD SErver. And RompR should start. Other interfaces can be used through http://<ip address>:6680

This concludes the player setup for now.