Hi, I can spin up for free a Windows VPS (win server 2016 with graphical interface or win server 2022 core version since it has only 1GB of RAM). The problem is that outside of Linux I have absolutely no experience. I would like to try hosting something also on Windows server just to take away some load from other machines or even just to learn something new.
Therefore I have the following questions:
*Is there any starting resource for windows selfhosting you can recommend? I would love if a list like the awesome selfhosted existed for services that can run on windows.
*Is there anything non-enterprise for which a windows server would provide any advantage over Linux?
*Does anyone self hosts on windows server? Can I ask what you use it for?
Thanks
I have little experience with windows (web)servers and more with linux.
I have no idea why someone would want to set-up or manage a windows server. It’s just pain if you previously did it with linux. Everything sucks. Where to find log messages, how to upgrade a php version and get that used by the webserver, backup, maintenance, how to write short and useful scripts for maintenance, the mixture of config files and lack thereof, and it needs double the resources.
I wouldn’t do it in my spare time. I’d rather work on a way to get that OS in that VPS replaced… (My personal oppinion.)
Only things I can think of are Active Directory and/or maybe MSSQL if you had something that required it.
Yes, that’s also my feeling at the moment. Not an option to move to Linux unfortunately (it’s a Microsoft offering for academic staff). I was hoping for some fun suggestions, If nothing comes to mind it will just become the backup server of the backup server or just stay off and save electricity.
lol. they’re trying to lure you in. this server is bait.
In my experience, there’s a reason most things on the internet are not hosted on windows.
That said, you’ll want to look at IIS as a starting point.
Honestly, I think you’d be better served learning/understanding docker and just get that up and running in windows to host stuff instead. Managing windows hosting is a bizarre mix of hoping between quasi gui property windows and control panels.
Just bear in mind that microsoft.com is hosted on Linux. If Microsoft don’t host their own website on IIS, why would anyone else?
Yeah exactly. Also: there’s more Linux on Azure than windows, and AWS hosts more windows than all of Azure.
I totally agree. If I could choose, I would have preferred my seventh personal Linux server instead of a windows machine but that’s what Microsoft offers to me. I fear that Docker, which I use all the times on Linux, would probably have too much overhead on windows. I still have to deal with a small size VPS. I have not many chances to run a Linux VM on top of windows to host docker and expect to have resources left to run a container with it in 1 GB of RAM.
I will defined look into IIS for web server/reverse proxy though. Thanks.
Windows isn’t typically meant to run manually installed web servers or apps that would also run on Linux.
For example, unless you’re Microsoft you wouldn’t set up IIS just to run a web server and manually configure it all unless you had a good reason.
Microsoft Windows Server absolutely excels at this though - Apps built for Windows. If an app is built for Windows then you typically don’t have to do the manually fiddly stuff like authentication and database setup. It will typically do it for you. It will just be an Exe you run and click next next and you’re done.
So I would recommend one of the following
- run a Windows Server Core (headless) and have docker/kubernetes inside it.
- run windows server (maybe core headless depending on app) and find an app worth trying that’s made for windows.
The best example app I can think of that is made for Windows that would need Windows Server and is so simple to install is PRTG or Veeam B&R. Both huge apps in Enterprise and both only run on Windows.
Thanks, this is an excellent answer.
With 1GB of RAM and windows you’re likely not going to be able to do much, windows is a ridiculous resource hog
Even the very few things that I hosted that required Windows… I actually hosted through Wine just so I could skip running a windows server…
Install docker for windows containers and play around and see what you can get running? I ran pretty much all the same containers as I do on linux when I was using windows server. 1GB of RAM is going to be the big limiting factor.
Challenge accepted
protip: if you have RDP open, you WILL get hacked.
Is it that bad? I mean, I am not much concerned myself as I would not leave the port open to anything but a small IP range, but I thought that the protocol was fine once a random long password is used.
I’m by no means a windows guy anymore. I mostly use linux. But yeah, I’ve been told many a time to not leave RDP open to the internet.
Don’t think it’s that bad, although there were a couple pretty nasty vulnerabilities in RDP a couple years(?) ago
No, use a VPN to connect to the server, then connect to RDP inside the VPN.
I would always recommend this, no matter what! Same with SSH, just keep this closed to the outside world!
Restricting to a few source ips makes it pretty safe. The RDP protocol is pretty secure, but it is a common one for zero day vulnerabilities, and software makers often do dumb things that break it’s security. So the general advice is to never expose RDP to the internet at large.
Many of the same applications you find hosted on *nix platforms can be used in Windows. I use Jekyll for example in website development. I feel that lack of activity with using Windows in selfhosted is mostly due to cost in licensing. The next hurdle for many is security. Being closed source Windows is inherently more difficult to validate for security. Not to say open source is more secure, just that the opportunity to evaluate is available.
I used to self host all of my services at the time (Jellyfin, Radarr, Sonarr, Jackett) on Windows before I built a dedicated server, and it worked surprisingly well. I basically just enabled WSL2, installed Ubuntu and pointed Docker Desktop at that, from there on it was pretty much just logging into Ubuntu and going about my business as usual. Don’t recall any major issues during the 2+ years I had that setup going.
There are minor oddities and incompatibilities when it comes to networking (off the top of my head, host networking doesn’t work iirc and the Docker host IP alias is different). The main thing is I’m not sure how easy that would be to setup in a remote SSH only environment or if it’s even doable or allowed but it was quite simple to set up locally.
Pretty much the only thing I would host on Windows anymore are games servers. Lots of times there aren’t native software alternatives for specific game servers and running through wine means a hit in performance.
I use Hyper-V on mine, and mostly run FreeBSD virtual machines + some Linux VMs. The actual Windows VMs I have are DNS controller, Exchange Server, and Remote Desktop. You are not going to be able to do any of those things on 1GB of RAM. My Exchange Server has 16GB RAM, DNS controller has 2GB, Remote Desktop has 32GB (could run on less depends what you want to do on it). There’s 256GB of RAM in total on the computer.