4/2016 - It's finally time I build a proper NAS. I've gotten by this far with an old Netgear ReadyNAS NV+ v2 (4x3TB) which is great for mass storage, but has low top network speeds and a very slow cpu.Here's the new toy.
- Low Power
- 2-4 720p Plex stream transcoding capable
- Case - Fractal Design Node 304
- Fractal Design Node 304 FD-CA-NODE-304-BL Black Aluminum / Steel Mini-ITX Tower Computer Case
- CPU - Intel Core i3-6100
- Intel Core i3-6100 3M 3.7 GHz LGA 1151 Desktop Processor
- Motherboard - GA-B150N-GSM
- Socket 1151 (6th Gen Intel), B150, 2xDDR4, M.2, 6xSATAIII, 2xIntel GbE LAN
- RAM - 8GB DDR4 2133
- 2x4GB G.SKILL Aegis 8GB (2 x 4GB) 288-Pin DDR4 SDRAM DDR4 2133 (PC4 17000) 
- 5 Hard Drives - Total Storage 13.5TB
- Extras (not installed):
- PSU - Rosewill Valens-500M
- Semi-Modular, 80 Plus Gold, 500W
OS Options and my Choice
I chose to run XPEnology, which is really just a way to run the Synology operating system on your own hardware. If you go look up reviews of Synology's software (DSM) you'll know everything you need to decide if this is the right choice for you. My personal reasons for picking it were:
- Simplicity - It's got a really user friendly interface and tons of one-click packages for useful services
- Support - It's a very popular OS and thus you can find help and write-ups on just about anything you might want to do
If you're wanting to look into the other primary competitors, check out the alternatives:
- Amahi - Another simple solution, probably the most similar to XPEnology
- Skipped because it had fewer options for custom RAID arrays
- FreeNAS - A FreeBSD derivative which is lightweight and feature packed
- Skipped because it highly reccommends ECC RAM and is slightly easier to mess up
- NAS4Free - Forked from FreeNAS and offers ZFS
- See FreeNAS
- OpenMediaVault (OMV) - super lightweight
- Didn't look into much
- Windows or Linux + whatever tools you need
- Wanted something more purpose built
To install XPEnology, you'll need to download DSM (disk station manager), which is the OS itself, and a matching version of XPEnoboot, which is the tool which allows you to boot DSM on your own hardware. At the time of this writing the latest DSM is 6.0, but I chose to go with 5.2 as people were having some issues due to new permissions settings on 6.0.
Here's a how-to on installation, I'll post the basic steps here as well:
- Download DSM 6.1.x (.pat file) and the loader(.img file)
- Obtain the VID and PID for your USB stick
- Download win32diskimager : http://sourceforge.net/projects/win32diskimager/
- Load win32diskimager, Select the loader img file and the usb drive then press Write and wait.
- Boot NAS from USB drive, press 'c' at GRUB screen and enter vid and pid information.
- On another PC download and install Synology Assistant directly from Synology and click 'search'. This should find your NAS on your network.
- Use the assistant to Install the .pat file and follow the configuration steps
- Connect to your new NAS at https://<IP address>:5000
- Package Center->Settings->Package Sources
- Lists of other 3rd party sources
- Apps go to /volume1/@appstore
- symlinked from /usr/local (e.g. /usr/local/git->/volume1/@appstore/git)
Note: I've had good experiences with the packages supplied for the following by Synocommunity, but due to wanting newer releases and availability issues I now use a Docker image for each.
For collecting all NZB Indexers in one location (port 5075)
- This is a great time saver tool. Put all of your indexers in NZBHydra and then point any of the downloader tools to it. This way, any change to your indexers only has to be made in one location.
For downloading NZBs from UseNet (port 6789)
- My choice for NZB Download app.
- The popular alternative is sabnzbd.
For Downloading and Managing TV Shows (port 8989)
- My choice for TV Show managing.
- The popular alternative is Sick Beard.
- Used to be called NZBDrone and is still referenced as such in some guides.
For Downloading and Managing Movies (port 5050)
- I'm still working on getting this one working the way I want.
For Downloading and Managing Comic Books (port 8090)
- You'll want to be on the Development branch to make sure you have the latest features and fixes
- Shutdown Mylar, edit config.ini 'version' line from "master" to "development"
This can be installed several ways:
- Synocommunity package
- Pro: One-click easy
- Con: Master Branch, webUI updater doesn't work (so can only update when the package is updated)
- git clone from the command line (SSH)
- Pro: can choose Development branch, can update manually with a 'git pull'
- Con: more 'advanced', webUI updater doesn't work (maybe?) (have to use git pull)
- linuxserver.io Docker image.
- Pro: nearly One-click easy, webUI updater works, can switch to Development branch using git, easy to roll back mistakes or deploy several copies to play with things
- Con: Master Branch by default, requires you to set-up Docker and log into the container to use git
I've tried all three and would recommend either a Docker image or a git clone as they will allow you to keep it up to date using git pulls, whereas the package won't allow this and the auto-update doesn't work with it.
Cloning with -b development still doesn't mark the 'Mylar Version' field on the settings page to development (it stays on Master). You have to edit config.ini while mylar is shut down.
- git clone -b development https://github.com/evilhero/mylar.git
Single interface collecting all of the above web interfaces into a single IP/Port (you set the Port)
- Allows you to only remember a single port and access all of your web UI's
- Very configurable, simple, works very well
root ssh access:
Enable the SSH service by checking the Control Panel → "Terminal & SNMP" menu → "Terminal" tab → "Enable SSH service" checkbox
Login with root/admin password after enabling admin user account.
- Control Panel->Users->admin
- Edit->Disable this account (check or uncheck accordingly)
BETTER IDEA: Follow instructions Here to enable logins with SSH keys (and disable password login)
- NOTE:Synology has a bug in their Docker GUI, it uses the older v1 API to list tags on Images from hub.docker.com and thus only gets a subset of tags (and often misses 'Latest')
- Workaround: SSH into your synology and run: docker pull <user/image>:latest
- This will grab the latest tag for the Image and it will show up under "Image" in the Docker GUI.
- See containers, Get name from last field or id number from first
docker ps -a
- Opens new bash shell in container
sudo docker exec -i -t <container name or id> bash
- Useful Tips & Tricks
- $80-Fractal Design Node 304
- $34-Model F4-2133C15D-8GIS
- $190-[http://www.amazon.com/Seagate-Desktop-3-5-Inch-Internal-ST6000DM001/dp/B013JPKYQC Seagate ST6000DM001
- $100-HGST HMS5C4040BLE640
- Toshiba DT01ACA300
- Samsung HD203WI
- Seagate ST31500341AS
- Western Digital WD6400AAKS
- Western Digital WD5000AAKS
- $65-Rosewill Valens 500m