This installation is based on 18.04.2 LTS, Minimal Edition and 20.04 Netboot (but this should work for any version of Ubuntu 18.04 - 20.04, or any desktop variant). At the time of the updating this document (July 1, 2020), the newest version of Serviio is 2.1.
Please read the entire procedure before installing so you are familiar with the process before “taking on the terminal”.
This was tested using an Intel i5-4th Generation computer with 16GB of RAM
Since the Minimal install also doesn’t contain the packages of its big brothers, this will give you the information you need to install all the packages required to run Serviio from a Ubuntu Minimal 18.04 (or Ubuntu Server) installation. The process is the same on the other Ubuntu variants, but some of the software packages will be pre-installed.
1. Download and Install Ubuntu 18.04 - 20.04. (Any variant will work with this guide: Ubuntu Desktop, Minimal, Netboot, Server, Lubuntu, Kubuntu, Mint, Bodhi, etc.).
2. Make sure you have all the updates by running the following two commands at least once:
sudo apt update sudo apt upgrade
3. Enable root.
You will need it later as an active account. Pass the following command to enable root login:
It will ask for your user password, followed by the new submission for the password for root, and a confirmation of that password.
4. Install a few things. (Some of these will already be installed if you have a desktop variant, of which Ubuntu will warn you and then install the rest, but all are recommended if you installed Ubuntu Netboot or Server.) Run the following commands:
sudo apt update sudo apt install net-tools software-properties-common openjdk-8-jre default-jre ffmpeg dcraw wget
It will take a while to download and install. The command will install a package for network metrics, the software to bind file types, executables, and repositories, the Java Runtime Environment, the video transcoder, picture decoder/thumbnailer, and file downloader, as well as all their dependencies.
5. Installing Serviio.
a. Change to the directory where you will be installing Serviio.
b. Download the Serviio software.
sudo wget http://download.serviio.org/releases/serviio-2.1-linux.tar.gz
c. Extract the software.
sudo tar zxvf serviio-2.1-linux.tar.gz
d. Create a soft link to the Serviio directory.
sudo ln -s serviio-2.1 serviio
e. Have the root user on your computer take ownership of the Serviio files.
sudo chown -R root:root /opt
f. Run the following command to start Serviio.
g. Go to a browser to test and make sure Serviio is running by going to the following web page. (You can use the “ifconfig” command on the Linux machine to find the IP address if you do not know it.) Replace (IPaddress) with the Serviio machine IP address while attached to the same network. If you see the console page, you have done well…
If you have a graphical desktop on your computer, you can also open the Serviio console from the command line.
h. Remove the installation file.
sudo rm serviio-2.1-linux.tar.gz
i. Next, we need to create a service to make sure Serviio starts when the machine reboots. Enter the following command to create a file named serviio.service in the system service directory:
sudo nano /lib/systemd/system/serviio.service
j. Put in the following information:
[Unit] Description=Serviio Media Server After=syslog.target local-fs.target network.target [Service] Type=simple StandardOutput=null ExecStart=/opt/serviio/bin/serviio.sh ExecStop=/opt/serviio/bin/serviio.sh -stop KillMode=none Restart=on-abort [Install] WantedBy=multi-user.target
Hit ctrl+o to save the file and ctrl+x to exit the editor.
k. Enable the Serviio Service with the following commands, executed in order:
sudo systemctl daemon-reload sudo systemctl enable serviio.service sudo systemctl start serviio.service
After running the enable command, it should tell you that the OS added the service to the multi-user target.
l. Run the “sudo reboot” command to reboot and make sure the Serviio service starts correctly.
Congratulations! Serviio is installed.
Again, you should be able to access the console using: