hi everyone,

I was just about to self-host a Ghost blog but then was warned that my ISP might change my external IP address at any time, so I would need to pay for a static IP address.

Is that true?

(I’d not seen much about that in stuff I’ve looked up so far about self hosting)

  • Saik0@lemmy.saik0.com
    link
    fedilink
    English
    arrow-up
    30
    ·
    edit-2
    4 months ago

    You only need a static address for hosting email or VoIP.

    You can do just about everything else with DDNS (dynamic DNS). However with DDNS, you will have downtime until the DDNS update takes effect and propagates to clients. This can be seconds… or hours. Depends on the DDNS service and TTLs that they set and how quickly your script/DDNS client works to push the update out.

    You should check how often your address changes and check how quickly your DDNS solution pushed the update out. If it’s 10 seconds every 10 months, you will likely find that perfectly acceptable. If it’s an hour every other sunday… maybe not. But only you will know how much downtime you can tolerate.

    I always will take static IP personally. But it’s not technically required and you can work around it if you want to save the 10-15$/month.

    Edit: You could also argo tunnel if you’re okay using cloudflare. But I don’t think that answer is particularly in scope of the question. But just in case it’s useful to someone out there I’m adding this edit. Doesn’t fix the PTR requirement for Email and VoIP stuff though.

    • 3dcadmin@lemmy.relayeasy.com
      link
      fedilink
      English
      arrow-up
      3
      ·
      4 months ago

      I run an smtp relay exactly for that kind of stuff with emails. Clients still like wordpress and this is easy to use, many other will accept an smtp relay/service like say gmail (the first one I could think of)

      • Saik0@lemmy.saik0.com
        link
        fedilink
        English
        arrow-up
        3
        ·
        4 months ago

        Yeah that’s another option as well… Services like dynu.com or smtp2go.com do exist… but you have to pay for them and there is a risk that the service can open/read your messages.

        • 3dcadmin@lemmy.relayeasy.com
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 months ago

          chance you take with pretty much everything you don’t control. I do use as much as I can to protect emails (not that much really)

          • Saik0@lemmy.saik0.com
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            4 months ago

            Well yes… but if you’re goal to self-host is to control your data, it’s a bit counter productive to use those relays services that inject that problem right back into your setup again.

            Edit: I’m not necessarily arguing… just putting the information out there that the services exist, but might not be a good fit.

            • 3dcadmin@lemmy.relayeasy.com
              link
              fedilink
              English
              arrow-up
              1
              ·
              4 months ago

              oh yeah - but I don’t recommend anyone really self host an smtp server… many many issues right there especially as most isps block the ports required and the IP addresses are often blocked as well. Just use a service and don’t spam and all should be well (so don’t get sending newsletter emails all the time)

  • hperrin@lemmy.ca
    link
    fedilink
    English
    arrow-up
    12
    ·
    4 months ago

    As others have said, you can use dynamic DNS, but you also might have an IPv6 address that doesn’t change. Or maybe it does, you’ll have to check with your ISP. But that one can be set up as an AAAA record in your DNS.

    Most ISPs support IPv6, but some don’t, so you might not be accessible to everyone without also having an A record.

    • sem@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      10
      ·
      edit-2
      4 months ago

      I recommend afraid.org, you get everything that you need for free dynamic dns, and they’re a cool project so someday you may like to do even more with them or send them a little donation.

      I started with noip first, and the monthly re-up was so annoying.

  • non_burglar@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    4 months ago

    Whether your ip changes frequently depends on your ISP, but it’s not necessary to have a static ip. My public IP changes about once a year, but I use my router to update my dns and make ally external services rely on DNS and not IP to connect.

    You can also do this, look up “dynamic DNS”. You just need to register a DNS name (can be free) and set up the updates to make it accurate.

  • K3CAN@lemmy.radio
    link
    fedilink
    English
    arrow-up
    7
    ·
    4 months ago

    I selfhost my blog without a static IP. You just need Dynamic DNS.

    Keep in mind that your outbound bandwidth might be different from your inbound. I get 300mbps in, but only 5mbps out. It’s not noticeable during normal Internet use, but as you start sharing content publicly, limited bandwidth becomes really noticeable.

    • Dultas@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months ago

      Don’t even need dynamic DNS. Just use ddclient to update your DNS record if your IP changes.

        • Dultas@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 months ago

          Yes, but there used to be specific dynamic DNS providers or ones that advertised as that but you don’t specify need those now.

  • iii@mander.xyz
    link
    fedilink
    English
    arrow-up
    6
    ·
    4 months ago

    It makes things easier, but you have options, such as:

    1. dynamic dns.
    2. Public reverse proxy or tunnel.
    3. Onion routing.
  • darkan15@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    4 months ago

    As others have already commented, what you need is a Dynamic DNS service, where you register a subdomain, and setup a small program or script on your computer that pings the DDNS server every few minutes, that way you leave that running on the background, and if the program detects that the IP with the request changes, it will update the subdomain to point to it automatically.

    You could access the blog from the subdomain of the DDNS directly or if you get your own domain, you can point it to the DDNS.

    If you want a recommendation, I have been using DuckDNS for years, and it has been pretty reliable.

  • some_guy@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    4 months ago

    You can rent a virtual private server (VPS). I used to have a number of these for under $10 / month. I imagine they might cost more now., but chances are you can still find something super affordable.

    Wordpress.org will let you have a free site but you don’t get a custom domain. Wordpress.com has a personal plan for $4 / month. Matt Mullenweg (CEO) has revealed himself to be a crazy piece of shit, so maybe look elsewhere. I’m just trying to give you a sense of how accessible this stuff can be.

    Running a VPS will require more learning, but it can be super gratifying if you enjoy nerdy computer stuff and solving puzzles just for self-satisfaction. I used to use Rackspace, Linode, and something else that I can’t recall at the moment. All were pretty reasonable. Rackspace had a ton of good setup guides for newbies that were well written. I’d occasionally land on those doing a web search for other hosting stuff and found them reliable.

    Edit: DigitalOcean was the one I couldn’t remember.

  • Prunebutt@slrpnk.net
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    4 months ago

    I could make this quick: Is your internet access behind a CG-NAT? If yes: you’re gonna need a static IP.

      • Paddy66@lemmy.mlOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 months ago

        I was going to use Cloudflare to sort this, but I’m uncomfortable how big they are getting / lack of competition in that part of the market. So we looked at Pangolin as an alternative, but it’s a faff to self host.

        Hence why we’re back at exposing it straight out the back of Nginx Proxy Manager.

        • 3dcadmin@lemmy.relayeasy.com
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 months ago

          I get that… fo me though as I have been using Cloudflare for many years I can’t see any reason to change yet. That of course may change

      • Prunebutt@slrpnk.net
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 months ago

        But how will a tailnet help for a blog? At some point, the https port needs to be open.

        • 3dcadmin@lemmy.relayeasy.com
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 months ago

          tailscale will tunnel through and you can set it to pass through https. Lots of different ways to achieve this, as long as you have control over the dns and are able to set https up it will work. This is why for me I still use cloudflare, you can even setup a subdomain through their tunnels and they act as a cdn. For example, I run a linkstack instance, send instance and much more

          https://linkstack.relayeasy.com/@3dcadmin

    • Paddy66@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months ago

      My router says it has NAT enabled (in the WAN settings section - for the internet connection)

        • iii@mander.xyz
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 months ago

          Static IP is helpfull but not necessary. Even with NAT and a changeing IP there’s options, such as:

          1. dynamic dns.
          2. Public reverse proxy or tunnel.
          3. Onion routing.
          • Prunebutt@slrpnk.net
            link
            fedilink
            English
            arrow-up
            1
            ·
            4 months ago
            1. How do you open the https port behind a nas?
            2. That public tunnel needs at least a public IP address again.
            3. Ok, forgot that one. But then you’re only accessible through Tor, isn’t it?
  • slazer2au@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    4 months ago

    You don’t need one, but it does make things easier.

    What you can use is something like Dynamic DNS to update your DNS record if your IP ever changes.

  • Paddy66@lemmy.mlOP
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    4 months ago

    Thank you for your replies everyone!

    I’m looking into DDNS. Before I go with a provider, I notice that my router has this functionality built in. Should I use that?

    (It’s an Asus RT-AX86U Pro - so fairly chunky in terms of spec)

    For reference, the set up is:

    Docker containers for

    1. Ghost
    2. Nginx Proxy Manager
    • ohshit604@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      4 months ago

      (It’s an Asus RT-AX86U Pro - so fairly chunky in terms of spec)

      I have your exact router make and model! I self host my own server with a domain on my home network and make use of the built in DDNS feature.

      My domain registrar is Cloudflare so I have to use a custom script for DDNS, if you’re in the same boat I can provide the script.

      I would suggest looking into Asus WRT Merlin Firmware, the custom firmware enables more functionality to your router.

      Docker containers for

      1. Ghost
      2. Nginx Proxy Manager

      When hosting a reverse proxy like Nginx, Traefik, SWAG, Pangolin, etc keep in mind you 80:80 and 443:443 ports need to be exposed to the host machine then you will forward those ports on your router. This will allow your reverse proxy to communicate with Lets Encrypt generating and verifying your SSL certificates.

      • e8d79@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        4 months ago

        Regarding Lets Encrypt your server doesn’t need to be accessible from the internet if you use the DNS-01 challenge. Caddy with the caddy-dns plugin for your provider can do that automatically for you.

      • sem@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        4 months ago

        Seconding this, it is very convenient if your router supports a good provider. But it is better imo to use a good provider with a helper script on your server than to stick with your router defaults if they’re not that good.

    • Dultas@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months ago

      Running a service like ddclient may give you more options at the cost of being more complicated.

  • 3dcadmin@lemmy.relayeasy.com
    link
    fedilink
    English
    arrow-up
    3
    ·
    4 months ago

    Personally I would look at using a tunnel, something like Cloudflare tunnels (easy to setup, sorts dns out) but many here dislike Cloudflare for a lot of reasons. However the free plan allows you to get started, easily, and then once you are started and serving your blog you can look into other solutions, or failing that stay on Cloudflare. Other tunnels exist but if you have a domain, using cloudflare is the easiest imho to get started

  • cantankerous_cashew@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 months ago

    Surprised nobody has mentioned cloudflare ddns. If you registered your domain with cloudflare, you can use the api or qdm12’s (author of gluetun) ddns-updater to keep your A/AAAA records up to date.