I got Jellyfin up and running, it's 10/10. I love this thing, and it reinvigorated my love for watching movies. So I decided to tackle all the other services I wanted, starting with Paperless-ngx...
What a nightmare. It doesn't have a Windows install so I made an Ubuntu VM. Don't get me started on Ubuntu. I just spent about 12hrs trying to get Portainer to cooperate and had to give up. I tried just installing Paperless the "normal way" and had to give up on that too.
My point: if you're getting started selfhosting you have to embrace and accept the self-inflicted punishment. Good luck everybody, I don't know if I can keep choosing to get disappointed.
Edit: good news! Almost everything I wanted to do is covered by Jellyfin which can be done in Windows.
I know linux isn't for everyone, but self hosting on windows is self-inflicted punishment. It's just not the right platform. Sure it's doable, but it's death by a thousand papercuts.
For what it's worth, I usually install Ubuntu Server instead of Debian because it comes with a few more things out-of-the-box that I would install anyway. I have several installations of 22.04 that have been upgraded since 16.04 and they work no problem. (I also have a few Debian installations working similarly well.)
If you have a spare computer, install proxmox on it.
There are loads of tutorials how to do this, it has a good installer, after which it's all a web based GUI.
Use it to spin up VMs to your heart's content, create scripts to automatically provision a new Ubuntu or Debian or whatever flavour. Or run up some Windows VMs. You can pass through GPUs and other devices (tho this can be difficult, again lots of tutorials out there).
Be prepared to spend some time learning proxmox. It took me 2 or 3 installs to figure out the best way to set up networks, storage etc. Mostly cause I just jumped in, found something that could be better, googled that and found a useful tutorial on it so started again.
But once proxmox is running, everything else become so much easier
I don't think proxmox is great if you don't know Linux yet. It's an additional tool to understand. But I do regret not getting into proxmox earlier, since it makes trying new things so much easier.
That's a pretty broad question.
How many nodes are you running? Are you using CEPH? Or another flavour of distributed storage? Or external nas/san? Or just local arrays? Zfs? Btrfs?
What's your backup strategy? Do you use Proxmox Backup Server?
If you can figure out what you don't like about your current setup, there will probably be a tutorial or article about alternatives.
Sometimes they can be applied without having to reinstall (actually, 99% of them probably can. Sometimes I just find it easier to start from scratch tho)
I've got Docker up and running, but getting anything to work within Docker or getting a machine to access the services that it says are running is a different story
I have worked with Docker/WSL for a number of years and it is more difficult compared to Docker in Linux. There are a lot a unique quirks and bugs that are an absolute pain to deal with.
Would not recommend for any relatively complex use case and certainly not for a server.
This sounds like ports aren't forwarded correctly. At least that's a regular problem I have. ss -tunlp shows which ports are open and helps me often to find out if I'm just too dumb again ;D
I do think that if you continue to set up services on Linux (with or without docker), you'll get quickly to a point where setting up a new service takes only a few minutes.
TECHNICALLY (yes, I'm fun at parties) you need 3 commands, as you also need to do an "apt update" after adding the repo.
But we can chain commands of course. Do chained commands count as one? We could debate that for hours. Like why I prefer vi.
Windows is just not ready for this stuff. Most of this stuff is built for Linux. Linux is THE server OS. And windows is painful for developers too, so there's less solutions for it.
You'll be a lot better off with Linux for self hosting.