My old NAS was a Mark I RaspberryPi with a 2TB WD MyBook (3.5, external power supply). It worked great - I had a few other services running on it and it didn't seem to struggle. When I came across ZFS I repurposed an old (but beefy) desktop
After considering a few options in the end I went with an oDroid XU4. For storage I ended up with two 2TB West
Usual process for writing the SD card and connecting for the first time.
# flash the SD card # connect to box ssh email@example.com # password odroid # set some variables export HOSTNAME=foobar export IP_ADDRESS=10.0.0.2 export ROUTER_ADDRESS=10.0.0.1 export DEFAULT_USER=tris # change the root password passwd # usual initial stuff (may have to wait for unattended upgrade to finish) apt-get update apt-get upgrade apt-get dist-upgrade # upgrade the kernel (say no to the scary looking warning) apt-get install linux-image-xu3 # add some extra packages apt-get install vim # sort out the networking systemctl disable network-manager echo " auto eth0 iface eth0 inet static address $IP_ADDRESS netmask 255.255.255.0 gateway $ROUTER_ADDRESS dns-nameservers $ROUTER_ADDRESS " > /etc/network/interfaces.d/wired # set the hostname echo $HOSTNAME > /etc/hostname sed s/odroid/$HOSTNAME/g /etc/hosts -i # sort out a general user user-add -G sudo -m -s /bin/bash $DEFAULT_USER passwd $DEFAULT_USER # make it use the ondemand govenor in /media/boot/boot.ini.default # add `governor=ondemand` to the end of the boot options # reboot and cross fingers for no typos in the network setup reboot # log back in as standard user ssh firstname.lastname@example.org sudo -i # disable root login over ssh in /etc/sshd/sshd_config | PermitRootLogin no service sshd restart # setup the drives apt-get install btrfs-tools autofs cryptsetup cryptsetup benchmark cryptsetup luksFormat -s 256 -c aes-xts-plain64 /dev/sda cryptsetup luksFormat -s 256 -c aes-xts-plain64 /dev/sdb mkdir /etc/auto.master.d # /etc/auto.master.d/tank.autofs | /- /etc/auto.tank --timeout 20 # /etc/auto.tank | /tank -fstype=btrfs,rw,noatime :/dev/disk/by-uuid/<UUID> service autofs restart ls /tank # setup samba # setup nginx