I need some advice, or at least pointers on where to go to learn more. I have been considering adding some type of backup to my network. Here is what I would like to be able to do:

  1. Primarily, back up my devices, whether that be desktops, laptops, or mobile, preferably automatically, regardless of OS. I have Windows, android, and Linux in the house and would like to have the devices automatically back themselves up each night.

  2. Possibly stream audio, video, and images (images to a photo frame would be cool).

  3. any cool other stuff I may imagine such as more server type stuff like home automation, password vault, and anything else applicable that I haven’t thought of yet. I currently have a RaspberryPi 4 running Pihole. I know I could easily add more services to this device if needed.

So I was thinking of getting a 4 bay NAS but a dedicated Synology box is going to cost me at least a grand. Would I get more flexibility AND save money by buying a N100 machine? Would this give me a machine that can be both a server AND a NAS? Can I duplicate the Synology software with FOSS? I don’t know much about NAS boxes but they seem expensive for what you get.

I have no plans to expose this to the internet so security is perhaps less important to me.

Thanks in advance and please add whatever you advice or comments you may have about the best way to set this up. Again, the system is designed primarily as backup but it would be nice for it to be able to other things as well. Backing up the mobile devices is of prime concern and I’m not sure how that would be accomplished regardless of what direction I take, so any info on that would be helpful.

Thanks

  • lorentz
    link
    fedilink
    English
    arrow-up
    2
    ·
    6 days ago

    NAS are essentially small computers made for connecting a lot of storage and with a fancy OS that can be configured with a browser.

    So the real question between the NAS or a custom build is how much time do you want to spend being a sysadmin. NAS mostly work out of the box, you can configure them to autoupdate and get notification only when something important happens. While with a custom build everything is completely on your own. Are you already familiar with some linux distribution? How much do you want to learn?

    Once you answer the previous question, the next is about the power. To store files on the network you don’t need any big CPU, on the contrary, you may want something small that doesn’t cost too much in electricity. But you mentioned you want to stream video. If you need transcoding (because you have a chromcast that wants only video in a specific format for example) you need something more powerful. If you stream only to computer there is no need for transcoding because they can digest any format, so anything will work.

    After this you need to decide how much space you need, and what type. NMVE are faster, but spinning HD were still more reliable (and cheaper per TB) last time I checked. Also, do you want some kind of raid? RAID1 is the bare minimum to protect you from a disk failure, but you need twice as much disks to store the same amount of data. RAID5 is more efficient but you need at least 3 disks. Said so, remember that RAID is not backup. You still need a backup for important stuff.

    My honest suggestion is to start experimenting with your raspberry and see what you need. Likely it will fit already most of your needs, just attach an external HD and configure samba shares. I don’t do any automated backup, but I know that syncthing and Syncthing-Fork are very widely used tools. On linux you can very easily use rsync in a crontab.

    If you want an operating system that offers you an out of the box experience more similar to a commercial NAS you can check FreeNAS. I personally started with a QNAP and have been happy for years, but after starting self hosting some stuff I wanted more flexibility so I decided to change to a TerraMaster where I installed a plain Debian and I’m happy with it, but it definitely requires more knowledge and patience to configure and administrate it.