Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Because I don't have a static IP address through my Internet Service Provider, I needed to use a Dynamic Domain Name Service client, which updates my DNS records to point at the current IP address of my router.

I'm guessing that your router is available through the Internet directly, then? I wonder in how many places that's the case, because it isn't in my country (Latvia) and for my ISP (LMT, wireless connection in the countryside), because it seems like they're using CGNAT or something and any inbound traffic ended up getting dropped, at least the last time I tried: https://en.wikipedia.org/wiki/Carrier-grade_NAT

What I eventually did was rent a few cheap VPSes and set up WireGuard on them, so that my homelab servers could be accessed through the VPSes. I wrote a vague tutorial on my blog (though I should add the disclaimer that you probably don't want to forward almost all the ports if you're not lazy): https://blog.kronis.dev/tutorials/how-to-publicly-access-you...

Either way, this seems like a cool project!

> Even on this smaller extract, these services already use a large portion of my 1TB SSD (667 GB total). Assuming the usage scales proportionally, I would need around 3.7TB of storage for the entire planet. Not to mention the RAM requirements also scaling.

Though I can't help but to wonder why it wouldn't be possible to decrease the maximum level of detail that the map files contain, like the levels that you can zoom in or out. Even in the demo environment you get the lowest level of detail (land contours) for the whole world, even if you only have a part of it available in the higher fidelity.

> DigitalOcean Droplet (Memory Optimized): Total - $832.00 / mo

> AWS r6a.4xlarge EC2 Instance: Total - $735.42 / mo

> Azure D32as v5 VM Instance: Total - $1127.36 / mo

As for the cost aspect, someone suggested Hetzner, which does both cloud VPSes and dedicated ones: https://www.hetzner.com/

  Example of Hetzner VPS with 32 vCPU cores, 128 GB of RAM (CCX51, dedicated vCPU): 353.31 Euros a month + storage costs (600 GB by default)
  Example of Hetzner dedicated server with 16 CPU cores, 128 GB of RAM (from auction, not guaranteed): 46.05 Euros a month + storage costs (2 TB by default)
Then there's Contabo, which also has prices that are generally on the more affordable side: https://contabo.com/en/

  Example of Contabo VDS with 12 CPU cores, 96 GB of RAM (Cloud VDS XXL): 149.99 Euros a month + storage costs (720 GB by default)
  Example of Contabo dedicated server with 20 CPU cores, 256 GB of RAM (Intel Dual 10-Core): 149.44 Euros a month + storage costs (depends)
Apart from that, some people might also suggest that you look at https://lowendbox.com/ or similar sites for good deals, though typically the focus of such sites won't be on beefier specs.

Depending on exactly how many resources you need, a smaller piece of hardware might be suitable. There can sometimes be regional providers, for example I use Time4VPS for most of my hosting: https://www.time4vps.com/?affid=5294 (affiliate link, feel free to remove affid; though they to have a sale going on now)

Apart from all that, I wonder why we don't have a "champion" project here that does pretty much everything in a single offering. Like for mail servers there's Mail-In-a-Box, for file storage there's Nextcloud (though some prefer Seafile). Such offerings are seldom ideal for all use cases, but are good for mass adoption.



Personally, I decided to use CloudFlare tunnels to open the services that I need to the internet.

But lately, I've also been instead using Tailscale, no need for VPS then, just having the client on each device that needs to have access to the machine (plus it can handle ssh now).

I realized I spend enough time on different projects on my home lab that the "open service to be accessible everywhere" part isn't worth my time or interest anymore. I'm glad for Tailscale and CloudFlare.


> Though I can't help but to wonder why it wouldn't be possible to decrease the maximum level of detail that the map files contain, like the levels that you can zoom in or out

Note that processing to reduce accuracy will require even more resources and what someone wants to preserve or drop depends on person.

And in the end - at least sometimes you will want to zoom in to the highest detail when using map data.


> Note that processing to reduce accuracy will require even more resources and what someone wants to preserve or drop depends on person.

This is an excellent point, thanks!

In practice it probably depends on whether the party that's providing the map files for download (and prepares them) is okay with the bandwidth costs and/or the alternative costs of the downsampling (cutting out zoom levels).


Because your LMT ISP decided that if client wants their own IP they should upgrade to Business plan, that's all there is to it. They probably don't have enough IPv4 addresses to hand them out to each client and use NAT instead, many many clients under same external IP, so obviously incoming connections gets dropped. I find it extra interesting that they decided to do exactly the same for IPv6 addresses, which surely they have enough of, so most likely business plan upgrade is primary reason here.


I have the same problem with my ISP (Orange, France). In the router configuration (NAT / PAT something) it's possible to open a port on one machine that will be internet accessible. It also allows to link it to a No-Ip account so your ip will be synced with it.


I find that most cloud providers really earn their money from transit/bandwidth costs, whilst oversubscribing their compute resources to then sell them at a discount - does this not make the WireGuard proxying prohibitively expensive?


> I find that most cloud providers really earn their money from transit/bandwidth costs, whilst oversubscribing their compute resources to then sell them at a discount - does this not make the WireGuard proxying prohibitively expensive?

Oh, my VPSes don't have data transfer costs as a dynamic component (Time4VPS, linked above). I just pay a fixed fee for a given amount of bandwidth and if I exceed it, then the speed is reduced for that VPS until the end of the month.

Here's the relevant bit from their FAQ:

> We reduce your VPS server’s port speed 10 times until the new month starts. No worries, we won’t charge any extra fees or suspend your services.

That said, they're definitely not the only platform that does something similar, many other VPS providers also have certain amount of data transfer included, Hetzner and Contabo included.

I actually have to say that Hetzner is perhaps the best billing wise, because if you just need a VPS for an hour or something, you can also order it for that amount of time, instead of a full month like with many other providers.

Either way, in my case I don't need to worry about the bandwidth too much, because nothing that I want to expose publicly is that popular, at least from my homelab nodes - mostly test environments and such to show to friends/colleagues and so on. Most of the stuff that can generate a bit more traffic (for example, my blog) I host in the data center that gives me all my other VPSes as well, just to not overwhelm my residential connection.


I have a lot of stuff running on a raspberry-pi using duckdns and letsencrypt.

What problem do you have with this setup?


> What problem do you have with this setup?

With my old setup: the fact that my public IP address wasn't "mine", it didn't lead to my router so I couldn't do port forwarding and expose anything publicly - instead it routed to my ISPs infrastructure and thus any inbound traffic that I wanted to reach my servers at home was dropped.

Thus I used WireGuard to make a tunnel between my local homelab server (outgoing connection) and a VPS that I rented, which could then forward any traffic it receives on port X to the same (or a different) port of my local server through the tunnel. Of course, the wording I use could use some work, networking isn't my forte.

I also use some dynamic DNS (ddclient is great) in places and Let's Encrypt for TLS certificate renewal, no complaints there.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: