How does hypixel have their website and minecraft server on their root domain? (I would like to do something similar)
Hypixel.net is both their website and mc server adress.
Is it just that https is on port 443 and minecraft is on port 25565?
And if that is the case, can i do something similar by making a reverse proxy have two seperate server blocks for the one domain, with different ports?
I haven't tried caddy but I've heard good things. I've used nginx in the past. I'm currently using Traefik and have been for a few years now. Once it's set up its pretty great.
Caddy can do both. If you're using a wildcard already, stick with it. In fact, I'd say it's more prudent to use wildcards (with DNS challenges) than http challenges.Then you aren't listing all of your domains in letsencrypt's public database for everyone to see. Nobody needs to know you've got a site called bulwarksdirtyunderpants.bulwark.ninja
You cannot specify ports in a DNS A or AAAA record. www.example.com cannot resolve to 1.2.3.4:443 and app.domain.com cannot resolve to 1.2.3.4:5555
If the application (be it a game or whatnot) supports it, SRV records can identify a port for a hostname. So, you could have minecraft1.domain.com and an SRV record to specify port 25565, and minecraft2.domain.com SRV 25566.
This means you can have multiple Minecraft servers with the same IP address, but you won’t need to give people the port numbers to remember; the hostname allows the game to look up the port via the SRV record.
This is great for selfhosters because we generally only get one IP (until they rollout IPv6; probably half the reason they don’t)
I didn't say to specify a port in the DNS. I just said that it is a way that we can resolve a resource.
In the case of ports we'd configure it through whatever webserver (Apache, nginx, traefik, whatever) configs necessary on that machine. The DNS in this scenario would only be for the machines IP where our webserver then routes traffic to different ports.