view the rest of the comments
Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
That suggested, it could be done with ports, or it could be done with separate servers.
Domain.com resolves to 1.2.3.4
www.domain.com resolves to 1.2.3.4:443
app.domain.com resolves to 1.2.3.4:5555
Games.domain.com resolves to 1.2.5.6
Mail.domaim.com resolves to 1.2.7.8
Portal.domain.com resolves to 1.2.9.10
Etc, etc.
This is how I set up my reverse proxy and it works really well with wildcard SSL certs. Only need one certificate for as many sites as I want!
Or you can use something like caddy that will set up certs automatically using tls-alpn-01 challenge, so no need for dns challenge .
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.
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.
I was accounting for both valid setups.