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 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//Programs cp -r serviio-1.5.1 /home//Programs #make serviio start automatically after network is active: sudo nano /etc/init/serviio.conf #add startup script: start on started networking script /home//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 #edit sabnzbd configuration: sudo nano /etc/default/sabnzbdplus #add proper configuration: USER= HOST=0.0.0.0 #Couchpotato installation: cd /home//Programs sudo apt-get install git git clone https://github.com/RuudBurger/CouchPotatoServer.git sudo cp /home//Programs/CouchPotatoServer/init/ubuntu.default /etc/default/couchpotato #setup couchpotato default config: sudo nano /etc/default/couchpotato CP_USER= CP_HOME=/home//Programs/CouchPotatoServer #make couchpotato start when user logs into the system: sudo ln -s /home//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= SB_HOME=/home//Programs/SickRage #make sickrage start when user logs into the system sudo ln -s /home//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 : /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//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: :23424 (UDP + TCP) SickRage: :8081 (TCP) sabNZBd: :8080 (TCP) Couchpotato: :5050 (TCP) LAN computers can access your shares via: Windows: \\ or \\ Linux / Mac OS: smb:// or smb:// If you want to access services outside your LAN I strongly suggest using SSL.