Hey /c/selfhosted! Reddit refugee here with a couple questions on things I’m a bit uncertain about. I’ll try to keep it brief, but I can clarify anything that needs clarified.

I came into a little money recently and I’m coming into some more in the nearish future. My plan is to put some of that into a new server build that I’ll use to host VMs running Docker, Portainer, and Nextcloud for starters. Vaultwarden, Jellyfin, Gitea, and some kind of dashboard site will come once I get NextCloud in a good place (I’m torn between Dashy and Heimdall, so if anyone’s got opinions I’d love to hear them.) I plan to add more once I’m more comfortable with Docker, and once I have a better idea of how to keep all these things organized and backed up.

I have two domains I’m going to use for these, one for test and one for “prod”. I use quotes because all of these things are for me only until I’m confident enough to invite my family. I don’t plan to make anything that’s going to be used by more than a handful of people overall.

I’ve been trying all this with an old server I got off Craigslist which I installed Server 2019 on. I know IIS is a thing, but I’m not certain how or even if IIS plays with Docker, which has me questioning if Windows Server is even worth messing with on the new hardware. Right now, I have a VM set up in Hyper-V which is hosting Docker/Nextcloud in what I’m considering a test environment, but it’s not accessible outside the home. Mostly I did this to learn Hyper-V for work, so I’m not married to Windows Server or even Windows for all this.

The other problem, of course, is DNS. It does appear that my ISP has given me a static address (or at least they haven’t changed it since I moved in 6 months ago). Assuming that’s true, I’m not certain how I’d go about configuring a DNS server at home and making it accessible outside my home. If anyone’s got any resources they want to recommend for setting up a DNS server in-home for this kind of thing, I would love to see them.

tl;dr

  1. Is there any advantage to using Windows Server to host VS some flavor of Linux or even Windows Pro, or am I just wasting my time (assume cost is not a factor)
  2. Am I making my life harder trying to manage DNS through Windows Server, and is there an alternative if so. Linux alternatives also accepted
  • Voroxpete@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    Windows is just flat out a bad server OS. The only thing it’s really good for is managing active directory. Every other role it could conceivably fill is done better by Linux.

  • Krafting@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    Don’t use Windows Server for homelab, I’d recommand using Proxmox and make VM and LXC, this will be way easier to backup and manage.

    For DNS You should use something like PiHole, which can be setup in a small Debain LXC and works like a charm!

  • CAPSLOCKFTW@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago
    1. Go Linux. It is far superior.
    2. get a domain (third level from here for free for starters) and ssl certs from lets encrypt. IP Addresses and no or self signed ssl will look super shady for any not coputer savy person and is unsafe (at least no ssl is)
  • mim@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    Besides what everyone already said, I would emphasize docker. Just take the plunge and learn it. It will make hosting and keeping things organised much easier.

    If you want to go the extra mile, you could have a look into ansible, to make your build reproducible. But it’s probably overkill for now. You’d probably take so long to get anything done that you might lose interest.

  • flynnguy@programming.dev
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago
    1. Use Linux
    2. It’s probably not a static-ip and I wouldn’t rely on it as such. I’d use http://www.duckdns.org/ to handle the dynamic IP issue (or something else, https://freedns.afraid.org/ would be another option)
    3. I’d look to pihole to start with for DNS. It blocks ads and you can add manual DNS entries. If you need something more complex, you can always migrate to something like unbound but pihole is a good, easy start.
    4. Setup https://letsencrypt.org/ You didn’t mention HTTPS/SSL, but you should really set it up. let’s encrypt makes it easy and free
  • TheInsane42@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago
    1. As already stated, yes, you’ll make life harder, as most (probably all) instances run on Linux. More help there.
    2. Bind is the reference implementation of dns, powerdns is easy as well.

    With bind you can setup an internal zone on a 2nd instance so you can test before changing the external zone to point to your instances. It’s a tad extra work, but you can mess around without bothering others.

    It’s not easy, but there are loads of examples online. (And once you’ve gotten used to the commandline way of administering, it’s not hard)