I’ve been thinking about finally getting myself a proper domain for my server, but a friend told me that to get one I either need a VPS with a public ip (which just takes all the fun out of selfhosting) or purchase a static ip, which is beyond what I’m willing to spend for a hobby. Do I have any good options or should I just let it go?

Also, if this isn’t the correct community for this, I’d appreciate being pointed to the right one, thank you

Update: after reading the comments the two main options I’m considering now are either a cheap VPS to use as proxy for my network via wireguard, or DynamicDNS. I’ll see if I can figure out the rest from here, thank you!

  • EpicFailGuy@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    3 hours ago

    I have the VPS setup, and it’s not bad at all, I pay 3.99 a month and it acts as a gateway into my network filtering any malicious ip by using crowdsec.

    I use Pangolin reverse proxy, but you can also use netbird.

    I prefer this because on top of the routing options it ads extra security and lets me share subdomains with friends and family without exposing my network to the internet

  • grue@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 day ago

    I have a domain, but all I use it for so far is email (with an email provider, not my own mail server, hosted locally or otherwise). I’d still call that “usable,” though.

  • ragingHungryPanda@piefed.keyboardvagabond.com
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 day ago

    I started with dynamic DNS on my home server, then moved to an encrypted tunnel. the issue with ddns is that your provider may block your ports. Mine eventually blocked 80, 443, and the wire guard port.

    When I switched to tunnels, with cloudflare as my provider, there was nothing my provider could do about it.

    So, I’d recommend tunnels since many providers don’t want residential users hosting servers.

  • marud@piefed.marud.fr
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 day ago

    If you already have a domain name and don’t want to switch to something else, know that some DNS registrar have an API to handle the domains. For a short period of time I had to rely on this and had a little python script to get my current IP and apply it to every A record in my DNS zone.
    It worked well (but then I took an arrow in the knee had static IP)

    • tofu@lemmy.nocturnal.garden
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day ago

      Yeah I still do this. I have a cronjob on one of my servers that runs every five minutes, checks if the upstream DNS IP matches my public IP and, if not, sets it. Adding 60s TTL, this means an average downtime of 3 minutes per change, max 6 minutes.

      It’s also possible to use different nameservers than the one the registrar provides, in case the registrar doesn’t have a proper API for DNS.

  • IronKrill@lemmy.ca
    link
    fedilink
    English
    arrow-up
    5
    ·
    14 hours ago

    My dynamic IP rarely changes. When it does, it gets updated by a Docker favonia/cloudflare-ddns image. I have yet to notice downtime.

  • Bakkoda@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    ·
    1 day ago

    I’ve been self hosting for 20 years with the same domain(s) and have never owned a static IP. Use a reliable DNS service with simple update tools (curl on a cron job for example).

  • entheo@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    1 day ago

    I believe cloudflare has some sort of tunneling option but I’ve never really looked into it, it might get around that.

    • Dave@lemmy.nz
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 day ago

      It does, yeah. If you aren’t averse to cloudflare then it’s a great option.

      From memory I think it’s limited to http/https traffic, but that’s normally not an issue, just have all your services behind a reverse proxy.

  • UnpledgedCatnapTipper@piefed.blahaj.zone
    link
    fedilink
    English
    arrow-up
    12
    ·
    1 day ago

    I run a variety of self hosted things via my domain on a dynamic IP. I just have dynamic dns set up to check my current public IP periodically, and update the dns entry if it changes.

  • Ada@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    12
    ·
    1 day ago

    Our setup uses a domain pointed at a dynamic (but stable) IP with a script to update it periodically

  • Mubelotix@jlai.lu
    link
    fedilink
    English
    arrow-up
    2
    ·
    3 hours ago

    Sure, you can just use your home wifi. Some of them are static, and others don’t change really often, like once a month, so dyndns will work well. You could also use cloudflared that is a proxy you can use even if you can’t open your ports

  • drone509@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 day ago

    It is possible to use a dynamic DNS service. They’re typically pretty cheap. I did for several years. It kind of sucked so I rented a VPS.

      • drone509@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 day ago

        Keeping hardware running 24/7 cheaply is difficult. Expanding an existing setup is expensive. Consumer grade ISP’s will block unexpected network protocols sometimes seemingly for no reason. Dynamic DNS isn’t super robust, so several times I went on vacation and the DNS service would flake. Maybe it’s better if you pay more for it, but I have no complaints about my VPS. It’s nice to be able to just reliably reach my web stuff and not worry a cat bumped the power cable.

  • Encrypt-Keeper@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 day ago

    What are you asking? You can just buy a domain whenever you want. You can use it on your server without a VPS or static IP.

    Are you asking us how to make your services reachable at that domain publicly over the internet?

  • cecilkorik@piefed.ca
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 day ago

    You don’t have any great options but you do have some options. You’ll need dynamic DNS, which you can get for free by various providers. This will manage a “dynamic” DNS entry for your occasionally changing, non-static IP at home. The dynamic DNS entry won’t be on your own domain name, it will be on the provider’s domain name. But wait! That’s just step one.

    You can still get your own, fully-functional domain name, and you can have all the domains and subdomains you want, and set them up however you want, with one important restriction: You can’t use IP addresses (because yours is dynamic, and changes all the time and you would have to be constantly updating your domain every time it does, and there would be delays and downtime while everything gets updated).

    Instead, your personal domains have to use CNAME records. This substitutes the IP from a different domain INTO your domain. So you CNAME every entry on your own fancy domains to point at your dynamic DNS provider, which manages the dynamic part of the problem for you and always gives the real IP you need. Nobody sees the dynamic DNS name, it’s there, but it’s happening behind the scenes, they still see your fancy personalized domain names.

    It’s still not going to be perfect, it won’t work well or at all for certain services like email hosting (self-hosting this is not for the faint of heart anyway) that are very strict about how their DNS and IP addresses need to be set up, but it will likely be good enough for 99% of the stuff you want to self-host.