I think your stategy should be one service at a time. Do everything in docker, and start by tackling a simpler service. For example, you should try paperless-ngx. Absolute game changer. I didnt realize how much managing ny own directory structure sucked until I used this. Then, grow your service list more and more!
I would avoid self-hosting backups at the same location where your devices are currently kept. There is a reason off-site backups are a thing. So many failure causes are shared with devices in the same home, from electrical issues (lightning and technical defects among other things) over water and fire damage to theft.
I want apps that let me access my data from anywhere
This may sound exaggerated, but paperless-ngx combined with a good network scanner will change your life. All paper mail accessible anywhere and also searchable. Plus, it is much easier to just scan something and drop it in an archive box instead of trying to figure out which folder (banking or taxes or maybe bills?) to file it in AND still remember that decision years later when you need to find it.
The *arr stack is what you're looking for + Jellyfin for streaming (Opensource, 100% free, and much better than Plex).
Prowlarr: manage your indexers
Radarr: find/automatically download movies
Sonarr: find/automatically download tv shows
Jellyfin: streaming your media
Look up trashguides for setting up all this stuff, very detailed guides. They are compatible with torrents and Usenet. I like using docker with portainer for easy management and if you use a VPN container you can selectively route these containers through the VPN so your other services that dont require the VPN dont need to route through it.
My recommendation: host OpenVPN, change the default port and only access your NAS from the internet using your VPN. Also only allow the VPN port on your router firewall.
I just discovered this and it's awesome, if you're into gaming at all. It's a containerized console emulator suite, and I think it is very well done. https://github.com/linuxserver/docker-emulatorjs
Tailscale will give you encrypted access to all devices everywhere, including iOS. For any hardware that can't run Tailscale, you can use any Tailscale client on the same network to be a subnet router - other Tailscale clients can then access that network via that client. I do this with a Raspberry Pi.
Once you have a mesh network like Tailscale setup, you can use native tools to copy files, etc, because the the mesh network provides the connection.
Checkout Syncthing and Resilio Sync. Both are great sync tools with different features. I use both, but rely primarily on Syncthing since it's much better on memory use on Android. I use Resilio just for its on-demand sync feature.
Syncthing can also run on an Rpi. I'm pretty sure Resilio can too.
Adguard Home
Channels
WireGuard for remote access (this is the only open firewall port)
Firefly-iii (for personal accounting)
Nextcloud for files,calendar,and contacts
There are some different way you can achieve many of these. There are like the cloud collaboration suits, and syncthing way
I want to sync my calendars and contacts
For this you can have something like nextcloud or it's alternatives, or syncthing with decsync, or a separate caldav service
I want to download media like TV shows and movies. (And music, too). “Of course, only legal obtained from the internet cough.”
I personally use jellyfin + transmission. I'm still trying to set up *arr suite, but it's not working, then I could use something like jellyseer. But transmission is working well anyway
Is it custom build NAS or something like Synology?
As already mentioned for proper backups you should locate the NAS somewhere else.
I'm not an expert by any means so don't take my word for it. I've tinkerd with some pies befor but this was my proper first project: a NAS for my family (multiple households).
If it's for personal use, you can use a VPN to your local network. It's by far the safest option and easier to setup.
I went with OMV (openmediavault) for local sharing as OS + Docker + portainer.
For the backups and access I went with Docker Nextcloud and Docker Swag (letsencrypt) and a reserve proxy with duckdns since I don't have a fixed IP.
Nextcloud setup was the easiest part and not really a hassle. With a VPN you won't need to tinker with the "access from net" stuff.
For syncing files on Android I would recommend Autosync since it's the most reliable one IMO. No other OS tested so far.
Nextcloud can handle a lot on its own and for something special you will find a proper plugin. For the download needs you may find some docker containers.
To expand on that. I’m trying to understand the 3-2-1 backup strategy.
I have up to 8bays support on my NAS; the total storage is 8TB, 4TB each.
I’m a beginner, so can someone explain briefly an easy way to set it up? (I still haven’t fully built my first NAS yet - waiting for a few more components to arrive).