More Storage

I have been running 2 Synology’s for quite some time now. The first one has 4 bays, and I loaded it up with 4 x 8TB drives. In a raid 5 configuration, that gave my just under 22Tb usable. I was running out of space fast and I was able to pickup another Synology 4 bay, but this one already has 3 x 2TB drives. This helped for a little while, but i was again running out of space.

Luckily with all of the Sales leading up to Black Friday, i was able to pickup 3 x 12TB drives and replaced them 1 by 1.

After Replacing the 1st drive, it took about 4-5 hours to rebuild the array. I then replaced the 2nd drive and it took another 4-5 hours to rebuild the array, but this time when it was done, it expanded the capacity to a little over 12Tb which took another hour. (Very Interesting… )

I finally was able to replace the 3rd drive and it took another 4-5 hours to rebuild, but this time at the end it restarted the rebuild. That time it took 3 days and when it was done, it Expanded the capacity again for another couple hours.

When it was all said an done, I had this one sitting at just under 22TB usable, but i still have a spare bay when the drives go on sale again.

That will keep me going for awhile.

What is a Pi-Hole and why should you want one?

A Pi-Hole is a DNS server that will block Advertisements. Whjn you are on the internet and you are wanting to go to a website like, your computer doesn’t know where that site is. So it asks fore the Address from a DNS server. That DNS responds with the Address and your computer goes to the site because it now has the Cyber-GPS coordinates for where it is going.

A Pi-Hole has a blacklist of Advertisements, and tracking websites, and will act as the Middle-man. Your computer will ask it for the address and if it has it in its Blacklist, then it will give a bogus response, and forward all valid sites to the Real DNS server you have configured.

This means that your computer never gets the Ads so it can show them to you. It also will cache DNS entries for some time and can speed up the response to your computer.

Pi-Holes were designed to run on a tiny computer called a Raspberry-Pi, but you are able to install the software on many other things. I have it running on my Plex Server and it is so light weight that it doesnt matter.

Once you setup the Pi-Hole Software then you tell your router to point to it for DNS queries and you can tweak it from there or just leave it. Everything that is gets an Address automatically from your Router should start using the Pi-Hole for DNS. You can login and see the Queries pretty close to realtime.

It can block Ads from all over the internet including many from Youtube and Mobile Apps. You should try it out today.

Setting Up Plex

What is Plex? and Why would I want it?

I like to tell people that it is like having your own personal Netflix with the Movies and TV Shows, Music, Photos, Live TV, and More that you own. The Plex Server can run on Windows, Mac, Linux. To get started it would help to the a couple things.

  1. A computer/Server or Nas where you want to Run Plex on
  2. Storage- where you want to store your media.

Plex is free for a basic setup and that is a great place to see if you can make it work for what you do.

Starting off many people just install on their PC and Run it from there. They will use the Hard drive that is already there. If you are like many of us and get in to it, then you will find that you will need more hard drive space. (I am up to around 25Tb and almost out of space)

Once you have figured out where you are going to do the install, then you can download Plex to that device. Click Here to download and then run the installer.

Once the Installer is complete then it should open a Web Browser so you can sign in or create an account. If the Browser doesnt Launch Automatically, then try going to the Default site at

It should start walking you through the setup wizard to name your server and then add libraries. There are 5 different types of Libraries you can setup. They are Movies, TV Shows, Music, Photos, and Home Video. Plex can only play Media without DRM (Digital Rights Management) on it. To Start off lets add one Library by pointing the Setup wizard to a folder that you have/will have Media in.

Plex will scan the folder and try to match it to online Databases to get the Information about it. Movie information like year, Cast, Ratings and Description.

The next step would be to test Media Playback. You can do this in the Web interface you are in or through one of the Man Apps out there. Plex has Client Apps for IOS, Android, Game Consoles, Smart TVS, Fire Stick, Roku, Apple TV, and More. The Interface is pretty similar on all of them. Try it out.

Once that is working, you can share Libraries with friends and Family. This is included in the Free version of Plex. In the Plex Settings, Click on Users & Sharing. and then under Friends Click on Share Libraries. I have found that it helps if the person signs up for a Plex account and activates it before you Share to them. You are able to select what libraries to share out, and even Ratings.

There is another Type of Sharing/User on this screen, and that is Home Users. Home Users are a Paid Feature, but well worth the cost. When you add plex to a TV in the house, by Default you have access to all Libraries, and the Play History goes under the Main account. With Home users, then you can setup “Profiles” for each user in the house. Everyone has their own Play List and the Media can be locked down. This is great for Families with kids. You are able to set PIN numbers to the profiles.

This is a good Start on Using Plex, but we have a lot more to do. Soon We will add more Services and make it even more Usable.

Automatic Ripping With Linux

I followed a Tutorial to get this done a couple years agao and it has been working great. I have modified the process on my setup, but here is the link to the original directions that I followed.

I am going to copy it to here in case the site does change:

The Ultimate Automated Ripping Machine

Recently I built myself a nice media center. I obtained a 16×3.5″ bay IBM server case. It’s 4U tall and really makes one hell of a system. This case is very, very big so I probably shouldn’t be using it as a media center case but what’s technology if you don’t over do it here and there.

One of the things that always frustrated me was ripping media such as CD’s and DVD’s. I either had to rip by hand, or… well rip by hand. Later on kept finding “one click rip” solutions, but there were two issues. First of all, it was never really one click. Second of all, I didn’t find one click acceptable. I wanted no clicks. I attempted this a couple of years ago at a previous job with a machine loaded with 4 DVD drives which was so famously dubbed the Ripasaurus. That was running on Windows. Now I’m a couple years older, and a couple years wiser so I decided to base my media center off Linux. Finally, Ripasaurus is reborn.

First I just want to outline the system I have running right now. It’s probably overkill, but hey it gets the job done. At the heart of the system is a Intel Core i5 3350P. This alone has made this the best media center I’ve ever built, and trust me, I’ve built a lot. I’m running on 4GB of DDR3 1333MHz RAM which runs just fine. To get better image quality (and the possibility of running some games) I dropped in a Nvidia Geforce GTX 460. For storage I’ve got a 32GB Sandisk SSD running my OS and 3x3TB Western Digital Red hard drives for my main storage. The hard drives are formatted for ZFS and they run in a RAID-Z just to make things a bit safer. Finally, I’ve got a Pioneer Blu-ray ROM drive I picked up off Amazon. This will be our best friend in this post.

Alright, let’s do some business.I will separate this post into sections as we will be covering how to rip audio CD’s, DVD’s, and Blu-ray discs. We will be running the DVD and Blu-ray rips through our friend Handbrake to give us a bit better file sizes and a lot more compatibility with software like XBMC.

Audio CD’s

Audio CD’s are pretty simple. We only really use one program, ABCDE (A Better CD Encoder). I’m running Ubuntu, so installation is a snap:

sudo apt-get install abcde

After ABCDE is installed, we need to make a config file. Open up your favorite text editor and save the text below in your home directory as .abcde.conf (~/.abcde.conf)



mungefilename ()
   echo "$@" | sed s,:,-,g | tr / _ | tr -d \'\"\?\[:cntrl:\]

Obviously you’ll want to replace some information in this config with your own. My source drive by default was /dev/sr0 and I wanted my output to be in /data/Music as defined by OUTPUTDIR. The rest of he stuff I wouldn’t worry about. It places an album under the format Artist/Album/Track.ext

After this is created, you’ll want to make sure that ABCDE is ran when you insert a disc. We can utilize MIME types for this situation. Ubuntu (and I think all Debian distros? Don’t quote me on that) uses .desktop files for defining what applications can open what kinds of files along with a custom MIME type list. Lets make our CD ripping .desktop application file. Save the text below as /usr/share/applications/ripcd.desktop

[Desktop Entry]
Name=Rip CD
Comment=This will start the automated CD ripping process

If we didn’t have the MimeType definition, this would look like any other program. But that line lets us do just a little bit more. For lack of a better word it tricks the system into thinking that our program will play the CD.

We’re going to want a second file created that we will reference later. Copy paste the following into ~/.local/share/applications/mimeapps.list

[Default Applications]
[Added Associations]

If you won’t be doing DVD or Blu-ray ripping you can take those lines out.

In Ubuntu if you go to System Settings > Details > Removable Media and then click on the Audio CD drop down, you’ll notice our Rip CD program is listed. Choose this as your default. At this point you can pop in a disc and watch it rip. Note since this is a no-click solution, you won’t be notified of any errors and the only feedback you’ll get is when the tracks are created into files or the purring of the optical drive.


Time to move onto DVD’s. These are a bit trickier as we first have to break the encryption on the disc and rip it to the hard drive. Then we have to convert it to a better format for us to play. First thing you’ll want to do is install dvdbackup:

sudo apt-get install dvdbackup

We also need to install libdvdcss to allow us to break DVD encryption. We’ll also need to install git (it’s usually the first thing I install on any machine along with vim) and clone the libdvdcss repo.

sudo apt-get install git
git clone git://

Now we compile and install libdvdcss

sudo make install
echo '/usr/local/lib' > /etc/
ldconfig -v

We’ll also need Handbrake to do the video conversion for us

sudo add-apt-repository ppa:stebbins/handbrake-snapshots
sudo apt-get update
sudo apt-get install handbrake-cli handbrake-gtk

I usually install both the GUI and CLI versions of Handbrake. We’ll need the CLI in our script, but I end up using the GUI to make my encoding presets.

And now we can build our DVD ripping script. Save this as /usr/bin/ripdvd



function rip_dvd() {

        # Grab the DVD title
        DVD_TITLE=$(blkid -o value -s LABEL $SOURCE_DRIVE)
        # Replace spaces with underscores
        DVD_TITLE=${DVD_TITLE// /_}

        # Backup the DVD to out hard drive
        dvdbackup -i $SOURCE_DRIVE -o $OUTPUT_DIR -M -n $DVD_TITLE

        # grep for the HandBrakeCLI process and get the PID
        HANDBRAKE_PID=`ps aux|grep H\[a\]ndBrakeCLI`
        set -- $HANDBRAKE_PID

        # Wait until our previous Handbrake job is done
        if [ -n "$HANDBRAKE_PID" ]
                while [ -e /proc/$HANDBRAKE_PID ]; do sleep 1; done

        # HandBrake isn't ripping anything so we can pop out the disc
        eject $SOURCE_DRIVE

        # And now we can start encoding

        # Clean up
        rm -R $OUTPUT_DIR/$DVD_TITLE


Make it executable

sudo chmod +x /usr/bin/ripdvd

Now you can throw a disc in the drive and type ripdvd and watch the script do its magic. That’s not zero click, so we have to do the same thing with our audio cd’s and make a .desktop file. Save this as /usr/share/applications/ripdvd.desktop

[Desktop Entry]
Name=Rip DVD
Comment=This will start the automated DVD ripping process

Go back to System Settings > Details > Removable Media and change the DVD video disc option to our Rip DVD program. Now you can pop a disc in the drive and it will rip and encode our DVD. Don’t worry about sticking discs in while Handbrake is still encoding. Since ripping the DVD itself uses barely any processing power, you can start ripping the next disc while the last one is encoding with Handbrake. If you queue up another disc, it will wait until the previous Handbrake job is finished before ejecting.


The moment we’ve all been waiting for, a zero click solution for ripping Blu-ray. This method works almost exactly like ripping DVD’s. First we need to get an unencrypted rip of the disc on our hard drive, then we’ll encode it using Handbrake. First we’ll need to install some programs. The first one is MakeMKV. This will do the actual ripping and decryption for us. Just a little note, this program is not FOSS and does cost $50.

We’ll need some tools to help us with compiling and installing MakeMKV

sudo apt-get install build-essential libc6-dev libssl-dev libexpat1-dev libavcodec-dev libgl1-mesa-dev libqt4-dev

Now download the binaries and source for MakeMKV



tar xvzf makemkv-oss-1.8.6.tar.gz
tar xvzf makemkv-bin-1.8.6.tar.gz

Now we’ll go and run make and make install in each directory

cd makemkv-oss-1.8.6
make -f makefile.linux
sudo make -f makefile.linux install
cd makemkv-bin-1.8.6
make -f makefile.linux
sudo make -f makefile.linux install

Cleanup time

rm -R makemkv*

And now we can build our script. Save this as /usr/bin/ripbluray



function rip_bluray() {

        # Grab the DVD title
        BLURAY_TITLE=$(blkid -o value -s LABEL $SOURCE_DRIVE)
        # Replace spaces with underscores

        # Backup the DVD to out hard drive
        makemkvcon backup disc:0 $OUTPUT_DIR/$BLURAY_TITLE --decrypt

        # grep for the HandBrakeCLI process and get the PID
        HANDBRAKE_PID=`ps aux|grep H\[a\]ndBrakeCLI`
        set -- $HANDBRAKE_PID

        # Wait until our previous Handbrake job is done
        if [ -n "$HANDBRAKE_PID" ]
                while [ -e /proc/$HANDBRAKE_PID ]; do sleep 1; done

        # HandBrake isn't ripping anything so we can pop out the disc
        eject $SOURCE_DRIVE

        # And now we can start encoding

        # Clean up


And make it executable

sudo chmod +x /usr/bin/ripbluray

Just like for ripping audio CD’s and DVD’s we’ll need a .desktop file. /usr/share/applications/ripbluray.desktop

[Desktop Entry]
Name=Rip Blu-ray
Comment=This will start the automated Blu-ray ripping process

Go back to System Settings > Details > Removable Media and you’ll notice there’s no Blu-ray option. Click the additional media button and look for Blu-ray video disc. Change this to our Rip Blu-ray program. That’s it. Zero click blu-ray ripping with a script and a couple of programs.

Just a few final notes, you can encode to other filetypes for each of these media types. Audio CD’s are controlled by ~/.abcde.conf, while DVD’s and Blu-rays are encoded according to Handbrake presets. If you make a Handbrake preset that you really like, save it and then replace the HANDBRAKE_PRESET value in each script. Feel free to change around the scripts. If you find something that makes the ripping process faster or better, leave a comment!