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!
view the rest of the comments
I'd rent one (small) VPS for $10 a month and split the bill. As far as I know that's how most people do it. It's going to have >99.6% uptime, a fast datacenter internet connection at some central location and runs on enterprise hardware... The Kubernetes approach adds a lot of complexity, you'll have your games disconnect anyway once it fails over as you can't migrate the IP addresses. And there will be some additional traffic between the locations to keep everything in sync. And 4x chance of some of the hardware failing and someone needs to fix it. Unless I'm mistaken about how Kubernetes works.
I'm pretty sure half the point of kubernetes is to have the server automatically reroute traffic when one node goes down
That would be a load balancer but is not integral to the working of kubernetes. I wouldn't consider kubernetes unless you have a need for autoscaling. It's a lot of overhead for such a limited use case.
You can front any three un-clustered nodes with a load balancer to the same effect
Good to hear. Are there specific example you could point me to? I'd like to learn more
https://www.cloudflare.com/learning/performance/what-is-load-balancing/
https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/
I would start here. Most off the shelf proxies can do it. Once set up you'll just have your friends connect to the load balancer either via IP or dns hostname. For anything behind a residential connection I would recommend either tunneling out or setting up ddns (dynamic dns) as the IPs can change every few days. Take a look at load balancing strategies as well
For the game server you'll probably want failover instead, which most proxies can also provide. This is because a load balancer could route everyone to different instances. I would set up save syncs between the three nodes so that if your primary instance becomes unhealthy you can simply reconnect to the same address and the proxy will route you to the secondary node. Obviously requires healthchecks. When the primary node becomes healthy again new connections will be initiated there.
Both of these introduce latency because you are adding a network hop though. You could also look into dns failover (direct to each node) to avoid this