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)

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

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

  • hperrin@lemmy.ca
    link
    fedilink
    English
    arrow-up
    10
    ·
    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
      9
      ·
      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.

  • 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
      arrow-down
      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.

  • fmstrat@lemmy.nowsci.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    4 months ago

    How are you hosting? And do you have a domain? Lot’s of good advice here, but knowing if you’re running on a Pi, in Docker, etc, would help others give you the easiest/best method.

    In short, you do not need a static IP.

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

      Hi, I’m using Docker - one container for Ghost and one for Nginx Proxy Manager.

      I’ve decided to go with DDNS but am having trouble choosing a reliable free provider. I’ve seen Dynu.com recommended but that is not available in the dropdown list of servers in my router’s section on DDNS. Is that relevant?

      Or would I just ignore the router settings and set it up some other way?

      • fmstrat@lemmy.nowsci.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 months ago

        Cloudflare is a good choice. I used DNSExit for a while, and also NS1, but settled on Cloudflare. You don’t have to use their proxying, just DNS.

        Here’s a Docker Compose for you that will set myhost.mydomain.com to point to your public IP of wherever it is run:

        dyndns-cloudflare:
            image: oznu/cloudflare-ddns
            container_name: dyndns-cloudflare
            environment:
              - API_KEY=<key>
              - ZONE=mydomain.com
              - SUBDOMAIN=myhost
              - PROXIED=false
            restart: unless-stopped
        
      • RecitalMatchbox@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        4 months ago

        I’m having a good experience with cloudflare, using ddclient on a cron job

        To clarify: it doesn’t matter much what your router supports if you have a server with ddclient (possibly in Docker container). Then you can choose whatever provider you’d like, and there are tons of resources on ddclient.

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

          If I install ddclient on my mini-pc is that what you mean by having a server with ddclient?

          My Asus router is not shown in their docs as supported - does that matter?

          Also - can I just keep using my current domain name registrar, and not use Cloudflare?

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

            Yeah, you just need to set your DNS using Cloudflare. Your router doesn’t matter. Ddclient will get your external IP address, usually by querying an external server like ifconfig.me (this is all configurable), and then use the configured provider (e.g. cloudflare) to point the DNS records to your external IP. You need to configure your DNS registrar to use the Cloudflare nameservers for your domain. Then just regularly (daily) run ddclient, e.g. using a cronjob

  • 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

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

  • SheeEttin@lemmy.zip
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    5
    ·
    edit-2
    4 months ago

    You could also put it on a cloud system and not worry about your local connection.

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

      You come to a post on SELFHOSTED@lemmy.world… And downvote everyone posting relevant discussion then post “USE CLOUD”.

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

    Some of the other options are cloud flare tunnel or ddns that would give you static ip effect without static ip

  • iii@mander.xyz
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    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.