Can you live with the services routing out and back into your public IP? If it all works for external users on the internet, doing nothing special should mean it works for you too?
calamityjanitor
In my head I thought one could make relatively cheap high capacity in 2.5" SATA form factor by having more NAND chips of lower capacity. You give up speed and PCB space but that's fine since bandwidth and IOPS are limited by SATA anyway and there's plenty of space compared to M.2.
Turns out to not shake out that way, controller ICs that support SATA aren't coming out any more, and NAND ICs are internally stacked to use up channels while not taking up PCB space.
There are some enterprise options, but they're mad expensive.
I have 4x 6TB HDDs in my NAS. Around 5 years ago I decided to simply replace any dead drives with 6TB ones instead of my previous strategy of slowly upgrading their size. I figured I could swap to 8TB 2.5" SATA SSDs that had just started to exist and would surely only get cheaper in the future...
Back in the day I used a raspberry pi 3 for 1080p h.264 and steam link / moonlight. Problem was omxplayer plays up to 1080p60 beautifully, but anything else would struggle. Eventually 'upgraded' to an old laptop to easily YouTube/netflix in the browser too.
I fucking love copyparty. It starts simple enough but then the millions of options and configs let you twist it into exactly what you need.
As someone that runs a server OS that doesn't support docker, it is very refreshing to see a single binary project. It has a focus on being administrator friendly thats really fallen out of fashion these days.
Yeah true the index headset wasn't a bargain compared to the quests that were clearly being sold as cheaply as possible.
I think it would be fine. Friend of mine has Immich on a N100, like you mentioned, the initial ML tasks on a big library takes over 24 hours but once it's done it doesn't need much. I don't have experience running next cloud but the others you mentioned don't need much RAM/CPU.
ZFS doesn't need much RAM, especially for a two disk 4TB mirror. It soaks up free RAM to use as a cache which makes people think it needs a lot. If the cache is tiny you just end up hitting the actual speed of the HDDs more often, which sounds within your expectations. I dare say you could get by with 8 GB, but 16GB would be plenty.
I'd only point out if you're looking for it to last 10 years, a neat package like the ugreen might bite you. A more standard diy PC will have more replaceable parts. Would be bigger and more power hungry though.
Can get an 'aoostar GODY' on AliExpress for US$1000. Basically the same GPU, 16GB RAM, 512GB SSD. The steam machine has less cores and less ethernet. Though it also has a way bigger heatsink, LEDs and extra Bluetooth/valve gamepad antenna.
Comparing the deck to comparative brands, it is wayyy cheaper. I think valve are going to be aggressive on price, especially when the CPU/GPU are fairly old and meek.
That is fricking sick dude!
Ah kay, definitely not a RAM size problem then.
iostat -x 5
Will print out per drive stats every 5 seconds. The first output is an average since boot. Check all of the drives have similar values while performing a write. Might be one drive is having problems and slows everything down, hopefully unlikely if they are brand new drives.
zpool iostat -w
Will print out a latency histogram. Check if any have a lot above 1s and if it's in the disk or sync queues. Here's mine with 4 HDDs in z1 working fairly happily for comparison:

The init_on_alloc=0 kernel flag I mentioned below might still be worth trying.
Sorry I might have misunderstood, you mentioned giving others access externally and it working fine. Normally, if you've set up the service to be publicly accessible on the internet, you can just visit the same site through the public DNS record and your public IP. At home or elsewhere, it's all the same internet.
So either you've done something odd, or you're talking about different, more private, internal only services?