After building my first computer I immediately wanted to start another build. Shortly afterwards I began to plan out my next build which would act as my home server. I dubbed this build "Companion Cube" after the Companion Cubes from the Portal game series due to the cube shape of the case and the fact it would act to supplement my main PC. Plus, who doesn't love Portal?
With the build complete I set out to set it up best fit my needs. I started with an installation of Ubuntu Server LTS 16.04. I used a combination of Mergerfs to create a drive pool of the installed storage drives and SnapRaid to be able create and utilize two parity drives. I used this method instead of a standard RAID configuration as it allowed me to purchase my favorite HGST 10TB drives over time and add them into the pool as needed rather than buying them all at once to set up RAID. Next, I needed a program that will act as my media server. Ultimately I settled on Plex over my usual Universal Media Server as Plex makes it much simpler to stream media off of the local network and provides and much better user interface and many other features that UMS did not. Then I setup the Onedrived, Timeshift and rclone services for backup purposes. Timeshift takes periodic snapshots of the of the OS files and allows me to restore the OS or rollback changes if needed. Rclone then allows for an offsite backup of the OS and all hosted media and files to Google Drive and Onedrived lets the server pull and push files from my Onedrive cloud to add a second layer of backup for my important files. Finally, I setup Samba shares and an OpenVPN server. The Samba share allow me to access the files I have stored on the server and even setup mapped drives on other devices while the OpenVPN server not only lets me access the resources on my local network when I'm not home but also secures traffic from my other devices when I'm out and about.