this post was submitted on 14 Dec 2024
60 points (92.9% liked)

Selfhosted

40696 readers
303 users here now

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:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. 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.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Good FOSS software and reliable service providers? Etc.

top 50 comments
sorted by: hot top controversial new old
[–] Pika@sh.itjust.works 2 points 5 days ago

my router uses openwrt which supports dynamic DNS updating on its own for multiple providers, I currently am through namecheap on it.

[–] possiblylinux127@lemmy.zip 4 points 6 days ago

What do you mean?

[–] 2xsaiko@discuss.tchncs.de 45 points 1 week ago (3 children)

Any registrar worth using has an API for updating DNS entries.

I just found this with a quick search: https://github.com/qdm12/ddns-updater

[–] DynamoSunshirtSandals@possumpat.io 12 points 1 week ago (1 children)

exactly. I literally have a bash script that calls the API triggered by cron every 30 minutes. That's it. Are people seriously using a freaking docker container for this?

[–] jws_shadotak@sh.itjust.works 7 points 1 week ago (2 children)

It's easy to set up and also keeps a history

[–] LaSirena@lemmy.world 2 points 6 days ago

I just dump the changes with timestamps to a text file. Notifications for IP changes get sent to matrix after the DNS record is updated.

[–] DynamoSunshirtSandals@possumpat.io 9 points 1 week ago (1 children)

Ah, a history would be nice. I've been thinking of keeping some stats to monitor when the connection goes down, and how often my IP changes.

Fortunately I've kept the same IP since i changed ISPs a few months ago.

Personally I still think docker is overkill for something that can be done with a bash script. But I also use a Pi 4 as my home server, so I need to be a little more scrupulous of CPU and RAM and storage than most :-)

[–] intensely_human@lemm.ee 1 points 6 days ago

Even if it is docker it’s still a bash script or something in the container right? Or are people referring to the docker CLI directly changing DNS records somehow?

My best guess is the reason to involve docker would be if you already have a cluster of containers as part of the project. Then you can have a container that does nothing but manage the DNS.

[–] mhzawadi@lemmy.horwood.cloud 7 points 1 week ago

I would recommend OVH for DNS, they have an API and are on the list for that tool. Also you can use the API to get lets encrypt certificates

load more comments (1 replies)
[–] jeena@piefed.jeena.net 16 points 1 week ago (1 children)
[–] conrad82@lemmy.world 5 points 1 week ago (1 children)

Me too. I use uptime kuma to send the api request. then I also get uptime status 🙂

load more comments (1 replies)
[–] SaltySalamander@fedia.io 13 points 1 week ago

cloudflare + the dynamic dns plugin for opnsense.

[–] bigdickdonkey@lemmy.ca 11 points 1 week ago

I use ddclient but in a docker container. Works great with minimal config

[–] ShortN0te@lemmy.ml 10 points 1 week ago

Have done it via bash scripts for years. Never had a problem. Since a few months i use https://github.com/qdm12/ddns-updater

[–] yournamehere@lemm.ee 8 points 1 week ago

afraid still works like a charm. cloudflare is ok. duckdns is cool.

[–] CarbonatedPastaSauce@lemmy.world 7 points 1 week ago (1 children)

I solve it by paying way too much for a block of static IPs.

[–] douglasg14b@lemmy.world 6 points 1 week ago* (last edited 1 week ago) (1 children)

Way too much for sure.

Just the business internet to get the foot in the door for a static IP 5x's the cost of my Internet.

It's actually cheaper to just have DC IPs and proxy through hosted containers. Which is kind of crazy.

Negative aspect is that DC IPs aren't treated very nice.

load more comments (1 replies)
[–] Shimitar@feddit.it 7 points 1 week ago (2 children)

Ixury for people that can have public IPs! :)

[–] oatscoop@midwest.social 1 points 6 days ago* (last edited 6 days ago) (1 children)

I'm in the same situation.

Fortunately there's a million companies that offer VPS with a static IP address for only few bucks a month. I set one up to run a wireguard VPN server which all my devices and home servers connect to as clients. I also configured everything to use a split tunnel to save bandwidth.

It's an added layer of security too.

[–] Shimitar@feddit.it 2 points 6 days ago (1 children)

Can you detail the split tunnel part?

[–] oatscoop@midwest.social 2 points 6 days ago* (last edited 6 days ago) (1 children)

Normally when you're on a VPN all the network traffic to and from your device is going through the connection to the VPN server, e.g. browsing the internet, online games, etc. It can cause issues with other online services and uses bandwidth (cheap as it is) many VPS provider charges for.

A split tunnel tells the VPN client to only send certain traffic through the tunnel. My wireguard setup assigns IP addresses for the VPN interfaces in the subnet 192.168.2.x, so only traffic addressed to IPs on that subnet get sent through the tunnel. In wireguard it's a single line in the config file:

AllowedIPs = 192.168.2.0/24
[–] Shimitar@feddit.it 2 points 6 days ago

I am doing split tunnel since years without knowing :)

Thanks, I learned something new.

[–] sugar_in_your_tea@sh.itjust.works 4 points 1 week ago (5 children)
[–] chronicledmonocle@lemmy.world 3 points 6 days ago (2 children)

It's why IPv6 is important, but many didn't listen.

[–] Andres4NY@social.ridetrans.it 3 points 6 days ago

@chronicledmonocle @sugar_in_your_tea This is why I love yggdrasil. Thanks to having a VPS running it that all of my hosts globally can connect to, I can just use IPv6 for everything and reverse proxy using those IPv6 addresses where I need to. Once hosts are connected and on my private yggdrasil network, I stop caring about CGNAT or IPv4 at all other than to maybe create public IPv4 access to a service.

[–] sugar_in_your_tea@sh.itjust.works 0 points 6 days ago (1 children)

IPv6 doesn't help anything if you're behind CGNAT, you can have internal-only IPv6. There are good reasons to not have every household directly accessible to the outside world, so I'm sympathetic to that, but they also seem to love charging extra for it.

[–] chronicledmonocle@lemmy.world 2 points 6 days ago* (last edited 6 days ago) (1 children)

CGNAT only applies to IPv4. You cannot NAT IPv6 effectively. It's not designed to be NATed. While there IS provisions for private IPv6 addressing, nobody actually does it because it's pointless.

[–] sugar_in_your_tea@sh.itjust.works 1 points 6 days ago (1 children)

Sure, but NPTv6 exists, and I wouldn't put it past an ISP to do something like that.

[–] chronicledmonocle@lemmy.world 1 points 6 days ago (1 children)

Network Prefix Translation isn't the same thing. That's used for things like MultiWAN so that your IPv6 subnet from another WAN during a failover event can still communicate by chopping off the first half and replacing the subnet with the one from the secondary WAN. It is not NAT like in IPv4 and doesn't have all of the pitfalls and gotchas. You still have direct communications without the need for things like port forwarding or 1:1 NAT translations.

I'm a Network Engineer of over a decade and a half. I live and breath this shit. Lol.

[–] sugar_in_your_tea@sh.itjust.works 0 points 6 days ago (1 children)

Yes, it's not the same, but it can be used to bridge private addresses onto a public network, which is basically what NAT is trying to achieve. If you're running an ISP and don't want customers to be directly accessible from the internet, it seems reasonable. In an ISP setup, you would issue private net addresses and just not do the translation if the customer doesn't pay.

Yes, you can achieve the same thing another way, but I could see them deciding to issue private net addresses so customers don't expect public routing without paying, whereas issuing regular public IPv6 addresses makes it clear that the block is entirely artificial.

[–] chronicledmonocle@lemmy.world 1 points 5 days ago

Just because you can doesn't mean anyone does. I've never seen an ISP hand out "private" IPv6 addresses. Ever.

If you're doing NAT on IPv6, you're doing it wrong and stupid. Plain and simple.

load more comments (4 replies)
[–] Bakkoda@sh.itjust.works 6 points 1 week ago

Afraid has a curl update. Cron job. It's that simple.

[–] ryan_harg@discuss.tchncs.de 6 points 1 week ago* (last edited 1 week ago)

used a bash script and a cron job for a long time, now the whole topic is one of the projects i regularly rewrite whenever I want to get my hands dirty with a new programming language or framework.

[–] PieMePlenty@lemmy.world 5 points 1 week ago

My ip updates maybe once every three months or so, but what i did was just write a script that checks the current ip and updates the domain registrar. My domain is on cloud flare, and they have an API through which I can do it. It's literally one POST request. There are solutions out there but I wanted a really simple solution I fully understand so I just did this. Script runs in cron every few hours and that's it.

[–] emax_gomax@lemmy.world 5 points 1 week ago

Ddns-updater and porkbun.

[–] philthi@lemmy.world 5 points 1 week ago (4 children)

Have you heard of the kuadrant project? It is for kubernetes and has a dynamic DNS element. Kuadrant.io

[–] sith@lemmy.zip 5 points 1 week ago

Probably good, but I want to stay away from anything related to Kubernetes. My experience is that it's an overkill black hole of constant debugging. Unfortunately. Thanks though!

load more comments (3 replies)
[–] irotsoma@lemmy.world 5 points 1 week ago (1 children)

Cloudflare DDNS updated by ddclient on my OpnSense router. Cloudflare happens to be my current domain registrar. Honestly, my IPv4 doesn't change that often. And when I used to be on Comcast, they assigned a block of IPv6 addresses and the router dealt with that. Unfortunately, I now have Quantum Fiber who only assign a single IPv6 address, so I gave up on IPv6 for now.

[–] ikidd@lemmy.world 1 points 6 days ago

Just a practice I've had over the years with domains: separate your registrar and your DNS. If one goes down, or out of business, you can fix it if you still control the other and its accessible. If you have both of them in one place, it's really hard to get that domain transferred.

[–] anamethatisnt@lemmy.world 4 points 1 week ago* (last edited 1 week ago)

I would go for registering my own domain and then rent a small vps and run debian 12 server with bind9 for dns + dyndns.
If you don't want to put the whole domain on your own name servers then you can always delegate a subdomain to the debian 12 server and run your main domain on your domain registrators name servers.

edit:

https://github.com/qdm12/ddns-updater

If your registrar is supported the ddns-updater sounds a lot easier.

[–] shortwavesurfer@lemmy.zip 4 points 1 week ago

Tor hidden service

[–] dm_me_your_feet@lemmy.world 4 points 1 week ago (1 children)

Desec + Nginx Proxy Manager as a reverse proxy. Solves ddns and https with a letsencrypt wildcard cert.

load more comments (1 replies)
[–] downhomechunk@midwest.social 4 points 1 week ago (1 children)

Ddclient has done the trick for me, and my registrar supports it with an API

[–] mbfalzar@lemmy.dbzer0.com 4 points 1 week ago

I set it once like 6 years ago and forgot it wasn't something pre-installed and configured until I saw your comment. I was reading through the comments looking for the "you don't need to do anything, ddclient takes care of it"

[–] leisesprecher@feddit.org 3 points 1 week ago

If you don't need actually public DNS, something like Tailscale might be an option.

[–] abeorch@friendica.ginestes.es 3 points 1 week ago

@sith
If this is useful we had a bit of a conversation about DynDns options a while back. Im currently using Hetzner with my subdomain names being dynamically updated.
lemmy.ml/post/18477306

load more comments
view more: next ›