User Tools

Site Tools


howto:linux:install:ubuntu12-04

This guide assumes you've installed a fresh (default) installation of Ubuntu 12.04.5 and assumes you have two storage devices - one for the OS and one for your media. I choose Ubuntu 12.04.5 as newer versions of Ubuntu (at the time of writing this) have some nasty VNC and SAMBA bugs (personally, I hate workarounds).


NOTE: If you plan on using SAMBA to share media you need to be aware of some SAMBA bugs in Ubuntu 12.04.5. If you set your NIC(s) to use a static IP address SAMBA will not function properly. Use a DHCP reservation (via router) instead.

Tested and working without any issues, log warnings, etc. with Serviio 1.5.
When entering commands, change <username> to whatever usename you have (but not root!).

Let's get started…

#openssh-server install, run this in terminal via GUI

sudo apt-get install openssh-server

#bandwidth tracking application (to be responsible about ISP usage):
#run through terminal every once in a while to see bandwidth usage and realtime traffic

sudo apt-get install vnstat iftop

#base codec install - installs dependancies used in ffmpeg and x264:

apt-get install dcraw libfaac-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev texi2html zlib1g-dev libssl1.0.0 libssl-dev libxvidcore-dev libxvidcore4 libass-dev librtmp-dev

Installing newer git obtainable versions of ffmpeg break Serviio's transcoding functions (cause stuttering, player disconnections, poor quality video, etc.).

#custom serviio version of ffmpeg install (compiled by me), always use Petr's (Serviio developer) customized version of ffmpeg to ensure proper serviio function:

cd /tmp
wget http://webclaw.info/downloads/serviio-1.5/ffmpeg_201502201629-git-1_amd64.deb
wget http://webclaw.info/downloads/serviio-1.5/x264_0.144.2525+git40bb568-1_amd64.deb
wget http://webclaw.info/downloads/serviio-1.5/rtmpdump_201502201618-git-1_amd64.deb

#install the custom serviio packages:

sudo dpkg -i ffmpeg_201502201629-git-1_amd64.deb
sudo dpkg -i x264_0.144.2525+git40bb568-1_amd64.deb
sudo dpkg -i rtmpdump_201502201618-git-1_amd64.deb

#java 8 install:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

#serviio 1.5 download:

wget http://download.serviio.org/releases/serviio-1.5.1-linux.tar.gz
tar xzf serviio-1.5-linux.tar.gz

#we keep everything neat and organized on our user profile directory:

mkdir /home/<username>/Programs
cp -r serviio-1.5.1 /home/<username>/Programs

#make serviio start automatically after network is active:

sudo nano /etc/init/serviio.conf

#add startup script:

start on started networking
script
/home/<username>/Programs/serviio-1.5.1/bin/serviio.sh
end script

#latest sabnzbd install

sudo add-apt-repository ppa:jcfp/ppa
sudo apt-get update
sudo apt-get install sabnzbdplus<code>

#edit sabnzbd configuration:
<code>sudo nano /etc/default/sabnzbdplus

#add proper configuration:

USER=<username>
HOST=0.0.0.0

#Couchpotato installation:

cd /home/<username>/Programs
sudo apt-get install git
git clone https://github.com/RuudBurger/CouchPotatoServer.git
sudo cp /home/<username>/Programs/CouchPotatoServer/init/ubuntu.default /etc/default/couchpotato

#setup couchpotato default config:

sudo nano /etc/default/couchpotato
CP_USER=<username>
CP_HOME=/home/<username>/Programs/CouchPotatoServer

#make couchpotato start when user logs into the system:

sudo ln -s /home/<username>/Programs/CouchPotatoServer/init/ubuntu /etc/init.d/couchpotato
sudo update-rc.d couchpotato defaults

#SickRage installation - I suggest using dev version once installed (supports more indexers):

git clone git://github.com/echel0n/SickRage.git

#setup sickbeard default config:

sudo nano /etc/default/sickbeard
SB_USER=<username>
SB_HOME=/home/<username>/Programs/SickRage

#make sickrage start when user logs into the system

sudo ln -s /home/<username>/Programs/SickRage/init.ubuntu /etc/init.d/sickbeard
sudo update-rc.d sickbeard defaults

#create media storage using gparted (aligns disk correctly, Ubuntu 12.04.5 native Disk utility does not):

Disks which are not aligned properly perform very poorly and can cause Serviio to stutter / jitter when transcoding!

sudo apt-get install gparted

#select your disk (eg: sdb) can create a partition table, format as ext4:
#now let's mount the new storage:

sudo mkdir /media/storage

#automatically mount storage after a reboot:

sudo nano -Bw /etc/fstab
/dev/sdb1       /media/storage  ext4    defaults        0       2

#remount the storage so we can take ownership:

sudo mount -a
sudo chown -R <username>:<username> /media/storage

#reboot to make our changes effective:

sudo reboot -n

Create directories on storage as required (you can do this via the GUI) on /media/storage/

data > movies
data > television

transcoding
downloads
downloads > completed

downloads > movies
downloads > television

Downloads go into downloads folder and once complete the applicable sudirectory (by sabNZBd) then are post-processed / moved to “data > movies” or “data > television”

#run the Serviio console to define what media is to be shared and set transcoding directory:
#defemine media storage location as the transcoding dump for Serviio hence the transcoding directory (eg: /media/storage/trancoding)

cd /home/<username>/Programs/serviio-1.5/bin
sudo ./serviio-console.sh

Via GUI and enable file sharing (right click on directory) - you'll be asked to install 2 packages (samba and libpasswd - an automatic process), just click install. I would enable guest access (but not RW access) other other players that don't require transcoding can play video (eg: KODI).

#reboot is required for shares to work.

sudo reboot -n

#if not done already, enable port forwarding (your router) as follows:
#crappy routers additionally require you turn on UPNP and enable IPv4 multicast support.
MediaBrowser: <LAN-IP>:23424 (UDP + TCP)
SickRage: <LAN-IP>:8081 (TCP)
sabNZBd: <LAN-IP>:8080 (TCP)
Couchpotato: <LAN-IP>:5050 (TCP)

LAN computers can access your shares via:
Windows: \\<LAN-IP> or \\<MACHINENAME>
Linux / Mac OS: smb:<LAN-IP> or smb:<MACHINENAME>

If you want to access services outside your LAN I strongly suggest using SSL.

howto/linux/install/ubuntu12-04.txt · Last modified: 2015/02/27 04:33 by webclaw