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)
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.
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?
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.
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?
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
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