I would like to set up a NAS/Home Server Combination.
I am not particularly experienced with networking and this general area, although I can handle Linux well enough at the very least, so I have a few questions, particularly about security, but also other things.
So, here's what I want, to provide a general idea of my plans:
I'd like
Storage for my local network
Nextcloud
"Sync sources" for myself like a self-hosted RSS Reader and I guess Nextcloud counts for this too, with Calendars, Contacts, etc. (These should be available primarily to me, but indirectly through other apps)
Collaborative tools also accessible to others (OnlyOffice, Etherpad, etc.)
Plex/Jellyfin/Similar
Factorio/Minecraft/Tf2 server for a handful of players (not all at once)
This isn't a comprehensive list, but should provide a rough idea
So, my questions:
Is it reasonable to combine a NAS and Home Server?
How do I keep it secure, especially with potentially sensitive data on Nextcloud or in general storage, if I also want others to be able to access parts of it?
What price range am I reasonably looking at if I want, let's say, 8TB (is that normal?) of storage and enough performance to run all the above plus some extra things?
What are some general best practices for hardware upkeep / preventing data loss?
What are some best practices for security overall?
Is there anything you'd like me to know, as a total novice in this field?
I am grateful for any tips, even if they're not entirely related to my direct questions, so please feel free to dump all kinds of knowledge and tips on me, if it's not too much of a bother for you!
Theres so much to unpack...! But ill try and throw something in the mix.
I dont know if freenas/ truenas supports a lot of addons or whatever they call it but the moment you mentioned media and games my thought went to proxmox, though i suppose you might also be able to get away with a bunch of docker containers.
Soo.. proxmox (or any hypervisor) will allow you to run multiple segregated VMs and containers.
On one vm you can install freenas/ truenas (whichever the good one is atm, im a little out of touch) and allocate the bulk storage drives to it.
Another vm for Plex/jellyfin
Another for minecraft, factorio, tf2
Another for nextcloud/ webserver
Nextcloud provides webdav/ caldav for calendar and contact syncing so sorted there. It also has a collabora app i think for collaborative document working.
In terms of security, you want to follow nextclouds secure configuration guide as a start.
The best way is to use a vpn to access your home network. Maybe give the others access if you trust them but you may then need to do some vlanning and segregation to protect the rest of your home network from them.
If you must expose to the net (which you may do with the games servers) then again, the config guide has you covered, use crowdsec, use https, use random ports, use strong passwords and mfa.
Do regular backups. 3 copies, 2 separate storage mediums, 1 offsite (3-2-1 rule).
Idk about the 8tb drive.
The above isnt the be all end all. Let it be the start of a discussion and your research journey
This is how I run all my services. I have a nice docker compose file, I always set my server computers up the same way so no editing will be necessary...
I was using podman, but like all Red Hat products, I found it to be unnecessarily complicated. Yes of course it has better security, but... Docker just works.
I was considering the VPN option, but as you mentioned for game servers that's not reasonable, and for some of the collaborative tools I'd prefer being able to give people I don't trust that much access, for instance people at work/university, to work together with them on whatever would be needed.
If I just decided to make the home server a home-only server, that would ease a lot of my worries.
I guess I could get a personal one, with sensitive info but only home network access, and just rent a second one? It's not like they're that expensive if you're just doing small-scale things and find a decent provider
You can always do both and expose some services outside your network and keep the others local only while still being able to access them yourself with a vpn.
If you must expose to the net (which you may do with the games servers) then again, the config guide has you covered, use crowdsec, use https, use random ports, use strong passwords and mfa.
When you say the config guide has you covered. Where is this config guide?