Hello SelfHosted!

I’ve been a Linux enthusiast since ~2006, but I still have gaps in my knowledge and I would not consider myself a “fully-competent” Linux server admin at this point in time. I have to read a lot and ask a lot of questions to figure out things more knowledgeable users may do in their sleep. I’m gonna call myself “begintermediate”.

I’m working on simplifying my storage, backups, and general digital hygiene. I have multiple devices split across two locations and I end up having to use hard drives to periodically move files back over to my main desktop for sorting and archiving. If I want to access older files, I have to copy them from my main storage on the desktop to a hard drive, my NextCloud, or whatever device I want to access them on. I would like to avoid this drudgery by moving my file storage to a NAS (don’t really even need access outside the network, though it could be useful if I understood it enough to keep it secure). I also hope to simplify by backups in some way because currently all my devices just back up to a different pair of portable drives one of which I hand-carry offsite.

Requirements:

  • 4TB+ storage to start
  • Expandability, I don’t know how storage needs will change over time, but 32TB seems like a fair upper end before wanting to update the whole system.
  • Would like to be able to run a few docker images for things like media server, open project, restyaboard, etc. I’m not sure if it makes sense to do this on the NAS or just get a simple NAS and do this stuff in a VM on my laptop or with a Rasberry Pie.
  • I don’t particularly want to spend more than $600 to get started, but wouldn’t mind having empty bays for later as I currently don’t have too much data.

Usage:

  • 1-4 TB (someday up to 32TB) of files (docs, books, photos, videos, device backups, configs & code snippets, etc.)
  • Video, Photo, Music Access via Android Devices
  • Video and Photo access via a media portal (like plex or open media vault)
  • Would consider moving nextcloud here (currently on the public cloud) if uplink is fast enough.
  • Some sort of access via iDevice would be nice in case I want to give another some storage space.

Questions:

  1. Does it make sense to mix my uses, i.e. media server, open project, etc. co-existing with file server for my docs and general files. Can I segregate portions for only local access?

  2. I don’t have tons of time to maintain this. Nextcloud hasn’t been a pain, I log in here and there and make sure everything is updated (nextcloud and the server) and I run the NextCloud security scan to make sure I get an A+. Does it make sense to go for something like the better Synology NASs that can run docker images or would it provide better affordability/functionality to use a mini-pc or a FBmarketplace/craigslist slim pc hooked up to a drive enclosure or something else frankenstein-y. I don’t mind doing basic maintenance, but I can’t afford to spend every other weekend rebuilding things.

  3. I have a dead WD MyBook Live and MyBook Cloud on my shelf. WD never updated them to fix the critical security issues, I missed the 40% off upgrade window, and they’re not safe to run with network access. They also sucked even when they were new. I want to avoid products doomed to become dead-end abandonware before I’m ready to upgrade. Are there NAS brands that are known to be better/worse with this? How does homemade NAS fare as far as hardware support and having to upgrade/rebuild when OS versions change.

  4. Can I purchase/build a simple NAS that I use for storage and serve the files for my media server through a different device like my laptop? Is this better/worse than just streaming from the NAS itself or will I not notice in most cases?

  5. It sounds like some of the pre-built machines can use drives of different sizes which would allow me to re-use the barely used drives inside of the WD devices. Do any of the self-build solutions allow for this.

  6. I would LOVE some book/media/community recommendations for digital hygiene and how to handle store, backup, maintain the deluge of information in our modern lives.

    All in all, I would appreciate any insight on a solution that gives a good balance between features & configuration, affordability. and maintenance time-investment. I figure a community of enthusiasts is a better place to learn than marketing copy.

    Thank you for any help you can provide!

  • @Molecular0079
    link
    English
    2
    edit-2
    1 year ago

    I had been self-hosting stuff on my QNAP NAS for years before it died due to the infamous Intel clock drift issue and now I am in the process of making a DIY NAS (last few parts are coming in this weekend). I don’t have answers to all your questions but I’ll try my best with the experience that I have.

    1. It is absolutely possible to mix your usecases on one machine, with the caveat that if you’re running on less-powerful hardware (like a off-the-shelf NAS), some of your services might be competing with each other for resources. CPU usage and disk access times (especially with a RAID 5 HDD array) can all impact performance. My QNAP NAS did start to bog down a few times with both Jellyfin and Nextcloud running at full tilt, but it was generally pretty usable.

    2. Most NAS products support docker images so I wouldn’t worry too much about NAS vs PC in this case. Also, docker-compose is your friend. Write your yaml file once and it will make for easy setup and upgrading.

    3. Dude, I am with you on dead-end products. The death of my QNAP NAS has caused me lots of headache and I basically swore off products that I can’t upgrade and fix myself. The problem is price. The cheapest x86 PC that I personally think will handle multiple usecases (media server, Nextcloud, SAMBA, maybe a Valheim server or a VM when I need it) costs roughly around $650-$750 depending on your build. You can probably find a Synology or QNAP NAS for about $500-$550. Granted, they most likely aren’t going to be anywhere near as powerful as a DIY x86 PC, so I think its worth going the DIY route. Those prices do NOT include the drives either, so be sure to factor that into your calculation. If you’re curious, here’s one of the cheaper builds I was considering building: https://pcpartpicker.com/list/rtqDbK. Ultimately I decided to go for a crazier build because I did not want slow HDDs anymore: https://pcpartpicker.com/list/Lm92Kp

    4. You mean running a media server on your laptop, but pointing the media libraries to a Samba share on a NAS? I did that for years with my QNAP NAS and a little Intel NUC running Plex. The only issue is that you won’t get incremental media library updates whenever you add new files into the Samba folder. Usually, Plex (and Jellyfin) can detect file changes if the media library is local and automatically process only those files instead of rescanning the entire media library. Over Samba, there’s no such automatic detection so whenever you add a file, you have to manually trigger a full rescan in order for it to pop up in your media library.

    5. I believe Unraid does this. I have not tried it myself and I plan on going with ZFS for my DIY NAS.

    6. I don’t have any resource recommendations, but personally I’ve taken the docker-compose approach which helps quite a bit for isolation. For media servers, you only need to give read-only access to the volumes hosting your media storage. It is also recommended to put media servers like Jellyfin behind a reverse Nginx proxy because Nginx has been battle-tested in terms of security and Jellyfin’s web server has not. You can use docker-compose to easily spin up a Nginx proxy alongside your media server and have them contained in their own isolated network.

    Do not open any more ports than is necessary to host your services. This means even remote administration should not be available via your public IP. Learn how to setup Wireguard so that if you’re away from home, you can quickly VPN into your network and do remote administration. If you’re using SSH, make sure you disable password authentication and only rely on SSH keys. I am sure other people can add more, this is just the basics.

    Hope this helps!