Introduction: DIY 3D Printed NAS/Home Server
Just under a year ago now, I decided I wanted to build a home server/NAS to store my ripped DVD collection. I had an old motherboard, CPU and 4GB of RAM I took out of an old computer that was otherwise going to be thrown away. The CPU I had was relatively under-powered for modern computing but for a home server, it was going to be absolutely fine. For a fully functioning computer I still, however needed a power supply, fan, boot drive and case. Three of these I bought new, but the case I wanted to try something new. I wanted to build my own enclosure using a few different items. I wanted to 3D print most of it, and then use wood or metal for the outer skin.
Step 1: Step 1: the Base
Firstly, I found a piece of attractive plywood that was both easy to cut and strong. The first photo shows me cutting a piece of ply that ended up being too small.
The motherboard that I was wanting to mount to this is a mATX motherboard, meaning that it is 24mm x 24mm - or should be. Mine ended up being about a 1mm larger on each side, however this did not bother me.
I measured out a square that was about 25mm larger around the edge than my motherboard is, and then cut around this with a scroll saw. As the scroll saw wasn't particularly accurate, I ended up having to sand the edges straight. Afterwards I designed and printed some custom motherboard standoffs that could be nailed into my plywood. Unfortunately, I found it very difficult to keep standoffs in the correct position while hammering in the nails - so I scrapped that idea.
I found some super glue and then designed and printed an adjusted 3D model for this. The glue worked perfectly and is incredibly strong even though it is gluing PLA plastic to wood. (thingiverse link: https://goo.gl/dhsTtC) I printed these on my Wanhao I3 V2.1 in black PLA at 200 microns at 100% infill and a raft, in Cura. I positioned these in place underneath the motherboard and then lifted it up. Added glue, and placed them back where I thought they should be. The motherboard went back on top over every standoff for at least 48 hours until the glue dried.
The motherboard was able to slide off and on without any trouble after this. After I had finished all most of the other steps, I added rubber feet to the bottom.
Step 2: Step 2: the Pillars/spacers
To separate the top and the bottom half of my home server, I used 3d printed pillars/spacers to support the second platform.
I designed these my self in 123d design, just as I did for my motherboard standoffs. (thingiverse link: https://goo.gl/xJYnrT) They where printed at 200 microns in black PLA at 20% infill.
These were designed to be printed in two parts and then snap together as this removes the need for support material. I did not need any glue to hold these parts together as it was such a tight fit. I even had to use a soft ended hammer to make sure it was flush.
The piece of plywood on top was exactly identical in size to the one used beneath.
Step 3: Step 3: the Hard Drives
I wanted to have a hard drive holder which made it both easy to gain access to the hard drives and one that was safe.
Just as before, I designed both parts of this in 123d design with exactly the same settings in Cura on my Wanhao I3 V2.1.
The hard drive rails are just planks with 3 small rods that sit in the hard drive screw holes. They do look very delicate but once they are all taking equal pressure then it seems to be perfectly adequate.
The hard drive cage is just one side that needs to be printed twice and then glued down in the correct position. In the video above - I had it taped down in place. This was to make sure I got the spacing correct before gluing it down for good.
(thingiverse link: https://goo.gl/zeIqr2)
Step 4: Step 4: Finishing Up
Now it is still nowhere near looking finished but after I mounted the power supply to the top next to the hard drives and placed the fan at an appropriate angle, it was all fully working. I still have a lot of work to do with the exterior and will be updating this Instructables as I go.
The power supply is now held in place just purely from its own weight and so is the top piece of ply. I connected my boot drive, that is a 250GB SSD to the motherboard and power supply, it is now just hanging off the edge.
I bought a very cheap power button off eBay to stop me from using a pencil to short the power pins every time I wanted to turn it on, that's a good upgrade.
Step 5: Step 5: Software
I wanted to use an actual NAS/home server designed operating system.
Freenas: Didn't really have the right hardware for this, and the plug-ins are pretty terrible.
Nas4free: seemed pretty similar to OMV, but I was more comfortable with Linux than BSD.
OpenMediaVault: It seemed perfect at first, however I ran into a few problems with compatibility.
Rockstor: I did/am using Rockstor right now for my server and it is working perfectly. The rock-ons (plug-ins) work just as advertised. The RAID works as advertised. It was easy to setup and has a nice interface. And it runs on Linux. It just works.
Step 6: PLEX
What is Plex?
"Watch how Plex makes it possible to enjoy all of your media, whether in your living room, the car, or on a boat in the South Pacific!" This is what is said on their website. Basicly it is a media server that runs 24/7 on a computer or home server and delivers all of your media content to pretty much every single smart device you can think of. If you don't believe me, on their website it outlines every single one (around 20 including smart phones, TVs, game consoles etc.)
The interface that is used in every single one of their apps is exceptional (without any exception), and their Android app in the 'Editors Choice' list.
What makes Plex different from just using something like DLNA is that, lets say your phone doesn't support the file format or codec that your video is saved in, or maybe your internet is too slow at that time to stream it without buffering - then Plex will live transcode the video and then send a compressed or altered version to your phone without taking up any extra space on your hard drives.
I've been using Plex for a while now and cannot recommend it enough. So little work needed to set it up, but you can get so much out of it.
You can try it out, or get Plex Pass here: https://goo.gl/ujPvPv
Step 7: Resilio Sync (formerly BitTorrent Sync)
Resilio Sync is an other piece of server software that I run on my home server.
It is used to sync and backup files across computers. It runs on the BitTorrent protocol so is extremely fast. If you have your files on your computer synced to your NAS, you are able to sync this to another computer, just download the files or browse and download the files on a phone. It acts as a mini cloud, but in your own home.
All of the apps work perfectly and are extremely easy to use. This is another piece of software that I cannot recommend enough. It's just amazing, time saver - and a life saver!
You can try it out here at their website: https://goo.gl/GamzB1