After a recent SD card corruption (a whole-house power outage while the Raspberry Pi Model 3B must have been writing to the SD card), I have been forced to rebuild the little guy. It's been a good opportunity to get the latest-and-greatest, even if it means sometimes the various instructional guides are slightly out-of-date. Here's what I did to get the Serviio Media Streamer, version 2.0, to work on Raspbian Buster [Lite](*):
Install dependencies
Coming from the "lite" install, we'll need a JDK, plus the various encode/decode tools Serviio uses to do the heavy lifting:
$ sudo su # apt-get update # apt-get install ffmpeg x264 dcraw # apt-get install --no-install-recommends openjdk-11-jdk
Download and unpack Serviio 2.0
This will result in serviio being located in /opt/serviio-2.0:# wget http://download.serviio.org/releases/serviio-2.0-linux.tar.gz # tar -xvzf serviio-2.0-linux.tar.gz -C /opt
Set up the Serviio service in systemd
Create a serviio user, and give them ownership of the install directory:# useradd -U -s /sbin/nologin serviio # chown -R serviio:serviio /opt/serviio-2.0Create the a file serviio.service with the following contents:
[Unit] Description=Serviio media Server After=syslog.target network.target [Service] User=serviio ExecStart=/opt/serviio-2.0/bin/serviio.sh ExecStop=/opt/serviio-2.0/bin/serviio.sh -stop [Install] WantedBy=multi-user.targetCopy it into position, enable the service, and reboot:
# cp serviio.service /etc/systemd/system # systemctl enable serviio.service # reboot
Verify, Configure, Enjoy
After reboot, check things are happy:$ sudo systemctl status serviio.service ● serviio.service - Serviio media Server Loaded: loaded (/etc/systemd/system/serviio.service; enabled;) Active: active (running) since Sat 2019-08-31 16:54:48 AEST; 7min ago ...It's also very handy to watch the logs while using Serviio:
$ tail -f /opt/serviio-2.0/logs/serviio.logThis is also a good time to set up the filesystem mount of the video media directory from my NAS, which the NAS user naspi has been given read-only access to:
$ sudo apt-get install cifs-utils $ sudo vim /etc/fstab (add line:) //mynas/video /mnt/NAS cifs username=naspi,password=naspi,autoNext, use a client app (I enjoy the Serviidroid app for Android devices) to locate and configure the instance, remembering that paths to media directories are always from the Pi's point of view, e.g. /mnt/NAS/movies if using the above example mount.
* This guide is very much based on the linuxconfig.org guide for Serviio 1.9, with updates as needed.