Media Systems¶
Overview¶
- Kodi - Media Centre / Player
- ympd - Lightweight web Interface audio player for MPD
- myMPD - Lightweight web Interface audio player for MPD
- O!MPD - Feature-rich web Interface audio player for MPD
- CAVA - Optional: Console-based audio visualizer for MPD
- Mopidy - Web Interface Music /Radio Player
- Airsonic - Feature rich media streaming server with web interface
- Subsonic - Feature rich media streaming server with web interface
- Logitech Media Server - aka LMS, Squeezebox Server
- Squeezelite - Audio player for Logitech Media Server
- Shairport Sync - AirPlay audio player with multiroom sync
- ReadyMedia - (MiniDLNA) Media streaming server (DLNA, UPnP)
- Ampache - Web interface media streaming server
- Emby - Web interface media streaming server
- Plex Media Server - Web interface media streaming server
- Tautulli - Monitoring and tracking tool for Plex Media Server
- Murmur - Mumble VoIP Server
- Roon Bridge - Turns your device into a Roon capable audio player
- Roon Server - Turns your device into a Roon capable audio player and Roon core
- Roon Extension Manager - Manage extensions from within Roon
- NAA Daemon - Signalyst Network Audio Adaptor (NAA)
- IceCast - Shoutcast Streaming Server, including DarkIce
- Koel - Web interface streaming server
- GMediaRender - Resource efficient UPnP/DLNA renderer
- Ubooquity - Free home server for your comics and ebooks library
- Komga - Free and open source comics/mangas media server with web UI
- Raspotify - Spotify Connect client
- Spotify Connect Web - Web interface, client and player for Spotify Premium
- Jellyfin - Media streaming server including live TV
How do I run DietPi-Software and install optimised software ?
To install any of the DietPi optimised software listed below run from the command line:
dietpi-software
Choose Software Optimised and select one or more items. Finally click on Install
. DietPi will do all the necessary steps to install and start these software items.
To see all the DietPi configurations options, review DietPi Tools section.
Kodi¶
The only media centre/player you’ll ever need.
If you did not select Kodi to start from boot, you can modify the autostart options in dietpi-autostart
:
- Desktop = Kodi is available via the LXDE start menu, and, desktop.
- Console = Kodi can also be run by typing
startkodi
.
ympd¶
A lightweight, bare-bones, no frills HiFi music player with a web based interface. ympd is a front end for MPD.
Also installs:
- MPD (music player daemon)
URL = http://<your.IP>:1337
Make sure you have one of DietPi’s File Servers installed.
Folders used:
- local =
/mnt/dietpi_userdata/Music
- accessed from file server =
/Music
Simply select the Update DB
button from the settings menu in ympd.
- Tweak audio options on the fly with the panel.
Simply run
dietpi-justboom
from the command line to launch it.
myMPD¶
A lightweight, bare-bones, no frills HiFi music player with a web based interface. myMPD is a front end for MPD, and a recent fork of ympd.
Also installs:
- MPD (music player daemon)
URL = http://<your.IP>:1333
We have disabled SSL and its redirect by default with the DietPi install. This is to prevent redirects to the hostname.
To re-enable the SSL connection and redirect option:
- Edit
/etc/mympd.conf
- Replace
ssl = false
withssl = true
- Save changes and exit
- Restart services with
systemctl restart mympd
- Use the same URL address above, it will redirect to HTTPS during connection
Make sure you have one of DietPi’s File Servers installed.
Folders used:
- local =
/mnt/dietpi_userdata/Music
- accessed from file server =
/Music
Simply select the Update database
option from the settings menu in myMPD.
- Tweak audio options on the fly with the panel.
Simply run
dietpi-justboom
from the command line to launch it.
O!MPD¶
A feature-rich web interface audio player for MPD. Includes song/album scraping, ideal for music catalog browsing.
Also installs:
- MPD (music player daemon)
- Web server
- URL =
http://<your.IP>/ompd
- Username =
admin
- Password =
admin
Make sure you have one of DietPi’s File Servers installed.
Folders used by O!MPD:
- local =
/mnt/dietpi_userdata/Music
- accessed from file server =
/Music
Click the settings
button (cog, top right).
Click update
.
CAVA¶
Console-based Audio Visualizer for MPD. Can be displayed in SSH terminals, consoles and LCD HATS.
Also installs:
- MPD (music player daemon)
If you did not select CAVA to start from boot:
- CAVA can also be run by typing
cava
. Use Ctrl+C to terminate. - You can modify the autostart options in
dietpi-autostart
.
- Tweak CAVA options on the fly with the panel.
Simply run
dietpi-justboom
from the command line to launch it.
Mopidy¶
Mopidy is a python based music player web based user interface for MPD.
- URL =
http://<your.IP>:6680/musicbox_webclient
or justhttp://<your.IP>:6680
Make sure you have one of DietPi’s File Servers installed.
Folders used by Mopidy:
- local =
/mnt/dietpi_userdata/Music
- accessed from file server =
/Music
This is done automatic, however, you can force an update using the command
mopidyctl local scan
Mopidy is highly customizable and supports various extensions from Web extensions to Backend extensions. See Extensions for a list.
See Installing extensions for installation details.
Enable support for vast number of codecs like .m4a. Execute the following installation procedure:
apt-get install -y gstreamer1.0-plugins-bad
Many thanks to Roth for this hint.
Airsonic¶
Feature rich media streaming server with a web interface. Coded in Java.
- URL =
http://<your.IP>:8080/airsonic
- Username =
admin
- Password =
admin
Once connected to the web interface, we need to configure the Music directory:
- Click the
Settings
button - Under
Media Folders
, replace the current music folder entry with/mnt/dietpi_userdata/Music
, then selectSave
- Select
Scan media folders now
to update the library
Make sure you have one of DietPi’s File Servers installed.
Folders used by Mopidy:
- folder =
/mnt/dietpi_userdata/Music
Subsonic¶
Feature rich media streaming server with a web interface. Coded in Java.
- URL =
http://<your.IP>:4040
- Username =
admin
- Password =
admin
Make sure you have one of DietPi’s File Servers installed.
Folders used by Mopidy:
- folder =
/mnt/dietpi_userdata/Music
This is a known issue with Subsonic and is out of my control.
If you experience this error while accessing the Subsonic web page, you can resolve the issue by running the following:
systemctl stop subsonic
rm -R /var/subsonic/jetty
systemctl restart subsonic
Many thanks to thechildofroth for his testing and fixes with the Subsonic installation.
Logitech Media Server¶
Logitech Media Server (aka LMS, Squeezebox Server) is the server software that enables web interface control of:
- Software audio players: Squeezelite
- Hardware audio players from Logitech: Squeezebox, SlimDevices
Remark: If you do not own a hardware player, you can turn your DietPi system into a Squeezebox audio capable player, by selecting Squeezelite for installation in dietpi-software
.
- URL =
http://<your.IP>:9000
Make sure you have one of DietPi’s File Servers installed.
Folders used by Mopidy:
- folder =
/mnt/dietpi_userdata/Music
- Run
dietpi-services
- Select
squeezelite
- Select
Edit
- Unset and re-set the
ExecStart
entry: :ExecStart= ExecStart=/usr/bin/squeezelite [<your custom arguments>]
: The first ExecStart=
is required to replace the existing ExecStart
entry instead of adding a second one.
- Save changes with Ctrl+O and exit
dietpi-services
- Restart the service:
systemctl restart squeezelite
To update Logitech Media Server to the current version, execute
dietpi-software reinstall 35
Squeezelite¶
Squeezelite is the audio player for the Logitech Media Server.
- URL =
http://<your.IP>:9000
Make sure you have one of DietPi’s File Servers installed.
Folders used by Mopidy:
- folder =
/mnt/dietpi_userdata/Music
- Run
dietpi-services
- Select
squeezelite
- Select
Edit
- Unset and re-set the
ExecStart
entry: :ExecStart= ExecStart=/usr/bin/squeezelite [<your custom arguments>]
: The first ExecStart=
is required to replace the existing ExecStart
entry instead of adding a second one.
- Save changes with Ctrl+O and exit
dietpi-services
- Restart the service:
systemctl restart squeezelite
Shairport Sync¶
Shairport Sync is an AirPlay audio player which plays audio streamed from iTunes, iOS devices and third-party AirPlay sources such as ForkedDaapd and Airfoil.
Audio played by a Shairport Sync-powered device stays synchronised with the source and hence with similar devices playing the same source. This allows for synchronised multi-room audio on multiple devices.
When searching for an Airplay device, execute shairport-sync
on DietPi.
There are many AirPlay players available for Android (e.g. AirPlay For Android) and iPad/iPhone (e.g. AirPlay).
Download and use the player of your choice.
Airfoil is an application that will let you stream audio playback directly to any Shairport Sync device. Press play on your favourite music player (e.g.: Winamp/Spotify) and click the speaker next to the DietPi device.
By using a PC + Airfoil, you can master the music in real time using the PCs CPU. This will allow all your Shairport Sync devices to sound even better without any performance hit on the device.
If you are planning to use multiple Shairport devices on the same network, please make sure the hostname of each device is unique. The hostname will also effect the shairport-sync
name.
This can be completed in dietpi-config
> Security Options
> Change Hostname
.
Soxr interpolation will improve the output audio quality on Shairport. However, it is extremely CPU intensive.
Enable Soxr:
sed -i '/interpolation = /c\interpolation = "soxr";' /usr/local/etc/shairport-sync.conf
systemctl restart shairport-sync
Disable Soxr:
sed -i '/interpolation = /c\\/\/interpolation = "soxr";' /usr/local/etc/shairport-sync.conf
systemctl restart shairport-sync
If you have choppy playback using Soxr:
Increasing the shairplay-sync
process priority (nice) may resolve the issue.
- Run
dietpi-services
from the terminal - Select
shairport-sync
via up/down buttons then press Enter - Select
CPU Nice
via up/down buttons then press Enter - Select
-20 : (Highest priority)
via up button, then press Enter
DietPi will then automatically apply and set the nice level.
If the choppy playback continues, the CPU most likely is insufficient for the processing required for Soxr. Then Soxr should be disabled.
ReadyMedia¶
Stream your shared media to any DLNA/UPnP capable device.
- URL =
http://<your.IP>:8200
Make sure you have one of DietPi’s File Servers installed.
Folders used by ReadyMedia:
/Music
/Pictures
/Video
The database can be refreshed with this command:
rm -r /mnt/dietpi_userdata/.MiniDLNA_Cache/* && systemctl restart minidlna
Available UPnP clients: https://www.wikipedia.org/wiki/List_of_UPnP_AV_media_servers_and_clients#UPnP_AV_clients
Ampache¶
A web based audio/video streaming application and file manager allowing you to access your music & videos from anywhere, using almost any internet enabled device.
Also Installs:
- Webserver stack
- URL =
http://<your.IP>/ampache
- Username =
admin
- Password =
dietpi
Make sure you have one of DietPi’s File Servers installed.
Folders used by Ampache:
- audio =
/mnt/dietpi_userdata/Music
- videos =
/mnt/dietpi_userdata/Video
DietPi will automatically add various catalogue directories to Ampache during installation. You can modify these directories as needed before running your first scan.
To start the scan and import your media into Ampache:
- Select the
admin
button. - Select
show catalogues
from the left hand side. - Select
Update all
.
- Select the
admin
button. - Select
add a catalogue
from the left hand side. - Enter the details of your path (See the image example below to add your USB drive music folder to Ampache).
- Select the
add catalogue
button.
Remark: For Ampache to access custom directories, you must ensure read access to the folder, e.g. by:
chmod -R 775 /my/directory
- https://github.com/ampache/ampache/wiki/Transcoding
- E.g. to allow .m4a playback:
G_CONFIG_INJECT 'transcode_m4a[[:blank:]]' 'transcode_m4a = allowed' /var/www/ampache/config/ampache.cfg.php
To update Ampache to the current version, execute
dietpi-software reinstall 40
Emby¶
A web interface media streaming server. Think Kodi, but using any device with a web browser.
Transcoding performance on SBC
Video transcoding performance on SBC devices is sluggish and may stutter, even on the RPi 3:
https://github.com/MichaIng/DietPi/issues/310#issuecomment-216262850
SBCs should be fine for Music only.
A Virtual Machine is highly recommended for Video transcoding:
https://github.com/MichaIng/DietPi/issues/310#issuecomment-219067830
URL = http://<your.IP>:8096
Once connected to the web interface, simply follow the on screen instructions.
When you reach Setup your media libraries:
/mnt/dietpi_userdata/Music
/mnt/dietpi_userdata/Video
You can also mount Samba/NFS shares by running dietpi-drive_manager
and selecting Mount network drive
from the menu.
Make sure you have one of DietPi’s File Servers installed.
Folders used by Emby:
- Audio:
/mnt/dietpi_userdata/Music
- Videos:
/mnt/dietpi_userdata/Video
To view Emby server logs, run the following command from console:
journalctl -u emby-server
To update the Emby Server version simply reinstall Emby Server to update it to newest version. It will preserve any existing data and settings:
dietpi-software reinstall 41
YouTube video tutorial: DietPi Emby Media Server Setup on Raspberry Pi 3 B Plus.
Plex Media Server¶
Plex organizes your video, music, and photo collections and streams them to all of your screens. Also known as a “Web interface media streaming server”.
URL = http://<your.IP>:32400/web
Please follow the onscreen instructions to complete the setup wizard:
- Create your Plex account by signing up.
- Give your server a name (e.g.:
DietPi-Plex
) Click
library
to setup your media locations:/mnt/dietpi_userdata/Music /mnt/dietpi_userdata/Video
You can also mount Samba/NFS shares by running dietpi-drive_manager
and selecting Mount network drive
from the menu.
Make sure you have one of DietPi’s File Servers installed.
Folders used by Plex Media Server:
- audio =
/mnt/dietpi_userdata/Music
- videos =
/mnt/dietpi_userdata/Video
Tutorial: Setup Guide for Plex on Raspberry Pi
YouTube video tutorial (German language): Raspberry Pi 4 - Plex TV Media Server unter DietPi installieren und Zugriff von aussen (FritzBox)
.
Tautulli¶
A Python-based monitoring and tracking tool for Plex Media Server.
URL = http://<your.IP>:8181
/mnt/dietpi_userdata/plexpy/logs/
Murmur¶
Turn your device into a lightweight Mumble VoIP server.
Use the following credentials to connect clients to the Murmur server:
- URL =
http://<your.IP>:64738
- Password = No password required
- Superuser Password =
dietpi
You will need to edit the Murmur config file:
nano /etc/mumble-server.ini
#Restart service
systemctl restart mumble-server
Roon Bridge¶
Turns your SBC into a Roon capable audio player. By using the main Roon application on another device, you can stream your music catalog directly to the Roon Bridge running on your SBC.
Can be found there: https://roonlabs.com/index.html
See also YouTube videos from David Snyder
Roon on another system (e.g.: Windows PC) to control the player.
Roon License (free trial is also available).
Roon Server¶
Turns your device into a Roon capable audio player and core server.
You can use the Roon Remote apps to control and configure the Roon Server:
https://roonlabs.com/downloads.html
When configuring your Roon Server, we highly recommend using the DietPi user data directory. This will allow you to transfer music over the network easily (see Transfer Music below), and storing the music on your Roon Server system:/mnt/dietpi_userdata/Music
Make sure you have one of DietPi’s File Servers installed.
Folders used by Roon Server:
- Music folder =
/mnt/dietpi_userdata/Music
- Accessed from file server =
/Music
Roon Extension Manager¶
At startup the Roon Extension Manager accesses a repository containing the community developed extensions. Via Settings
> Extensions
within Roon the repository can be viewed and an extension can be selected to perform a certain action.
Details and usage information: https://community.roonlabs.com/t/roon-extension-manager-v0-11-8/26632
Credits: Many thanks to @JanKoudijs for contributing this into DietPi
NAA Daemon¶
Signalyst Network Audio Adapter (NAA) daemon allows you to stream music from an HQPlayer source (like Windows) and output directly from your DietPi device. Features DRC, high quality up-sampling (like 192 kHz) and more.
Also works with Roon.
This will allow you to stream audio from your Windows PC, to the NAA Daemon on the DietPi device.
- Download and install HQPlayer Desktop for Windows:
https://www.signalyst.eu/consumer.html - Run the program
- To configure HQPlayer to use the NAA Daemon on the DietPi device:
- Select
File
thenSettings
- Under
Backend
, selectNetworkAudioAdapter
. The DietPi device should be detected automatically. - Click
OK
to save changes
- Select
dietpi-software reinstall 124
Website: https://www.signalyst.eu/consumer.html
IceCast¶
Shoutcast streaming server, includes DarkIce for audio input (e.g.: microphone).
DietPi will attempt to detect mic input during installation, and apply to DarkIce. If a microphone was not available, or you experience issue, check available microphones with: arecord -l
- Then edit the device entry in
/etc/darkice.cfg
, or Simple copy and paste:
sed -i "/^device[[:blank:]]/c\device = hw:$(arecord -l | mawk -F'[ :]' '/card/{print $2;exit}'),0" /etc/darkice.cfg
Restart services:
dietpi-services restart
We created a systemd
service for DarkIce, DietPi will automatically start it. You can check its status by running the following command:
systemctl -l status darkice
- URL =
http://<your.IP>:8000
- Admin user =
admin
Admin password = randomly generated, use code below to view:
grep admin-password /etc/icecast2/icecast.xml
Source password =
dietpi
- Relay password =
dietpi
This is disabled by default.
A recording of the stream can be enabled by edit of
/etc/darkice.cfg
, then uncommentlocalDumpFile = /mnt/dietpi_userdata/darkice_recording.ogg
Restart services:
dietpi-services restart
- A recording will then be saved in the following location:
/mnt/dietpi_userdata/darkice_recording.ogg
Koel¶
Web interface music streamer.
- URL =
http://<your.IP>:8000
- Email address = The one you entered during installation
- Password = The one you entered during installation
Configure Koel to use the DietPi user data (music) directory:
- In the web interface, on the left hand side click
settings
- Under
Media Path
, enter/mnt/dietpi_userdata/Music
- Then click
Scan
Make sure you have one of DietPi’s File Servers installed.
Folders used by Koel:
- local =
/mnt/dietpi_userdata/Music
- accessed from file server =
/Music
GMediaRender¶
A DLNA audio render/endpoint. Allows you to stream and play music, from another device, such as BubbleUPnP.
Ubooquity¶
Ubooquity is a free home server for your comics and ebooks library, with remote web interface viewing.
- Admin page =
http://<your.IP>:2038/admin
- Library view page =
http://<your.IP>:2039
Make sure you have one of DietPi’s File Servers installed.
- Use the following folders =
/mnt/dietpi_userdata/ebooks
and/mnt/dietpi_userdata/comics
- Then use the admin page, to set the above locations for ebook and comic storage
- Run a scan in the admin page to update the database
dietpi-software reinstall 80
YouTube video tutorial: DietPi Ubooquity Comics and Ebook Reader on Raspberry Pi 3 B Plus.
Komga¶
Free and open source comics/mangas media server with web UI.
- URL =
http://<your.IP>:2037
/mnt/dietpi_userdata/komga
/mnt/dietpi_userdata/komga/application.yml
journalctl -u komga
If you require file logging, set a path via config
file, like logging:
> file:
> name: /var/log/komga/komga.log
, assure that the directory exists and the komga
user or group has write permissions.
dietpi-software reinstall 179
Official documentation: https://komga.org/guides
Source code: gotson/komga
Raspotify¶
Spotify Connect client for the Raspberry Pi that Just Works™.
You will need a Spotify Premium account in order to use the Spotify Connect client.
Raspotify should work straight out of the box.
However, you can change the available options in:
/etc/default/raspotify
Then restart services with:
systemctl restart raspotify
Source code: dtcooper/raspotify
Spotify Connect Web¶
Spotify Connect Web is a console client and player for Spotify Connect including a web frontend.
- URL =
http://<your.IP>:4000
The generation of the spotify_appkey.key
is required to allow the application, access to Spotify API using your account.
Fill out the application form https://developer.spotify.com/documentation/general/guides/app-settings/#register-your-app.
Wait for it to be “accepted”
Make sure you have one of DietPi’s File Servers installed.
Copy the spotify_appkey.key
to the following folder:
- folder =
/mnt/dietpi_userdata/spotify-connect-web
- accessed from file server =
/spotify-connect-web
View the service logs via:
journalctl -u spotify-connect-web
There are some typical service tasks available:
Manually start the service:
systemctl start spotify-connect-web
Manually stop the service
systemctl stop spotify-connect-web
Manually restart the service
systemctl restart spotify-connect-web
Source code: Fornoth/spotify-connect-web
Quick start documentation: https://developer.spotify.com/documentation/web-api/quick-start
Jellyfin¶
A FOSS web interface media streaming server, including live TV, forked from Emby.
URL = http://<your.IP>:8096
Service:
journalctl -u jellyfin
Binary:
/var/log/jellyfin/
/mnt/dietpi_userdata/jellyfin
Code: Select all
apt update
apt install jellyfin jellyfin-ffmpeg
Source code: jellyfin/jellyfin