Updated DDClient Container (based on smdion's)


Recommended Posts

(I am creating a new topic for this so users of DDClient will be aware of an update.)

 

As reported in smdions Docker Repository Thread here, the DDClient container was not working correctly.

 

I have forked smdion's DDClient container and made some fixes to it:

 

Added missing SSL dependency for DDClient

Config file now in correct place with correct symbolic links

DDClient now starts as a foreground service from runsv resulting in only one instance running as expected

inotify restarts DDClient gracefully on edit of ddclient.conf

 

To get the fixed DDClient Container:

 

First you add

 

https://github.com/CaptInsano/docker-containers/tree/templates

 

to your repo list in the DockerMan page you can add my updated DDClient container.

 

NOTE: The DDClient log on the DockerMan page of unRAID will list the following error:

 

WARNING: file /etc/ddclient/ddclient.conf: file /etc/ddclient/ddclient.conf must be accessible only by its owner (fixed)

 

This can be safely ignored, it is due to the ddclient.conf file being owner by user nobody instead of root to be editable on unRAID shares

 

 

@smdion

Hopefully you will get a chance to pull these changes into your  repo for more people to get the fixes.

Thanks again for your work.

 

The Capt.

Link to comment

I was using DDNSnix.  I was the one you ask for a docker for it, but it doesn't work.  It never detects IP changes and doesn't update my IP.  In fact, it only worked once.

 

I thought that using the mature DDClient with a name.com patch would be a lot more stable than a 1 person-small-project that was DDNSnix...

Link to comment

I was using DDNSnix.  I was the one you ask for a docker for it, but it doesn't work.  It never detects IP changes and doesn't update my IP.  In fact, it only worked once.

 

I thought that using the mature DDClient with a name.com patch would be a lot more stable than a 1 person-small-project that was DDNSnix...

 

I had a look at name.com but to be honest api stuff is over my head and I saw your post over on the sourceforge page.  I did do some looking around though, any chance you could use this as a solution?  Looked relatively easy to follow. And then with dyndns you would be able to use ddclient.  Bit of a fudge I know.... Sorry I can't be any further help mate.

Link to comment

Copied from smdions thread. I am still having problems and have no idea how to debug this:

 

 

Capt,  having issues with your ddclient

 

docker run -d --name="ddclient" --net="host" -e TZ="America/New_York" -v "/mnt/user/docker/volume_data/ddclient":"/config":rw captinsano/ddclient

 

I get this on loop:

 

Starting DDClient

WARNING:  unable to determine IP address

 

My config

 

protocol=namecheap
use=web, web=checkip.dyndns.com/, web-skip='IP Address'
server=dynamicdns.park-your-domain.com
login=**.com
password=67bea0*****
test

 

 

Running unraid 6.0-beta10a  (if that matters)

 

EDIT: The config works (verified on separate linux box).  It just not working in the container.

Link to comment

 

 

I would suggest to make sure you delete that container and retry again.  Possibly something left behind is causing it not to work.

 

I'm just experimenting with ddclient to see if I can get to the bottom of this and have also noticed that changing my ddclient.conf once I've set up the container, whether it's running or not at the time of the changes does indeed throw up some weird errors my end, although none that are the same of your admittedly.

 

Deleting the container did solve these issues.

 

Still looking into it, but it does seem to be a common error with ddclient.

 

Other thoughts I had were, make sure you don't have a VPN working on your UnRaid box, and do you have just the one NIC.

 

Looking on the internet, you're certainly not the first person to experience this problem and my gut feeling is that it's a ddclient issue rather than a CaptInsano docker issue if that makes sense.

Link to comment
  • 1 month later...
  • 6 months later...

How can I see if this is updating correctly?

 

Check the logs and your DNS server.. I manually changed my DNS to 127.0.0.1 then started ddclient.  If my IP updated then all good, if not then I'd know.

 

If it's working the first time then it's pretty obvious in the logs that it is.  At least it was for me using namecheap as a registrar.

Link to comment
  • 1 year later...

Hi, I read that DDClient can work with CloudFlare but it could be different version numbers?

 

I read on the CloudFlare they have a DDClient that works, and they have the conf.

 

I'm assuming this Docker version doesn't or I'm doing something wrong?

 

This is what I'm getting in the log:

Starting DDClient
Setting up watches.
Watches established.
Nov 11 16:29:25 Tower syslog-ng[19]: syslog-ng starting up; version='3.5.3'

WARNING: file /etc/ddclient/ddclient.conf, line 78: Invalid Value for keyword 'protocol' = 'cloudflare'

Nov 11 16:29:25 Tower ddclient[24]: WARNING: file /etc/ddclient/ddclient.conf, line 78: Invalid Value for keyword 'protocol' = 'cloudflare'

WARNING: file /etc/ddclient/ddclient.conf, line 78: Invalid Value for keyword 'protocol' = 'cloudflare'

Nov 11 16:29:25 Tower ddclient[24]: WARNING: file /etc/ddclient/ddclient.conf, line 78: Invalid Value for keyword 'protocol' = 'cloudflare'

WARNING: file /var/cache/ddclient/ddclient.cache, line 3: Invalid Value for keyword 'ip' = ''

Nov 11 16:29:25 Tower ddclient[24]: WARNING: file /var/cache/ddclient/ddclient.cache, line 3: Invalid Value for keyword 'ip' = ''

WARNING: skipping update of advurt.net from <nothing> to 76.119.192.53.

WARNING: last updated <never> but last attempt on Fri Nov 11 16:27:54 2016 failed.

WARNING: Wait at least 5 minutes between update attempts.

Nov 11 16:29:29 Tower ddclient[24]: WARNING: skipping update of advurt.net from <nothing> to 76.119.192.53.

Nov 11 16:29:29 Tower ddclient[24]: WARNING: last updated <never> but last attempt on Fri Nov 11 16:27:54 2016 failed.

Nov 11 16:29:29 Tower ddclient[24]: WARNING: Wait at least 5 minutes between update attempts.

Link to comment

And I just read a CloudFlare patch is suppose to be officially part of DDClient now.

 

https://robertianhawdon.me.uk/2014/10/08/ddclient-news/

 

DDClient v3.8.3

 

DynDNS.com  - See http://www.dyndns.com for details on obtaining a free account.

Hammernode  - See http://www.hn.org for details on obtaining a free account.

Zoneedit    - See http://www.zoneedit.com for details.

EasyDNS    - See http://www.easydns.com for details.

NameCheap  - See http://www.namecheap.com for details

ConCont    - See http://www.dydns.za.net for details

DnsPark    - See http://www.dnspark.com for details

DslReports  - See http://www.dslreports.com for details

Sitelutions - See http://www.sitelutions.com for details

Loopia      - See http://www.loopia.se for details

Noip        - See http://www.noip.com/ for details

Freedns    - See http://freedns.afraid.org/ for details

ChangeIP    - See http://www.changeip.com/ for details

dtdns      - See http://www.dtdns.com/ for details

nsupdate    - See nsupdate(1) and ddns-confgen(8) for details

CloudFlare  - See https://www.cloudflare.com/ for details

Google      - See http://www.google.com/domains for details

Duckdns    - See https://duckdns.org/ for details

woima.fi    - See https://woima.fi/ for details

 

I think the version in this Docker is 3.5.3?

Link to comment
  • 5 months later...

 

For DYNU

 

daemon=300                # check every 300 seconds
syslog=yes                                                   # Log update msgs to syslog.
#mail=root                                                    # Mail all msgs to root.
#mail-failure=root                                            # Mail failed update msgs to root.
pid=/var/run/ddclient.pid                                    # Record PID in file.
ssl=yes                                                      # Use ssl-support. Works with ssl-library .                     $
use=web, web=checkip.dynu.com/, web-skip='IP Address'        # Get ip from server.
server=api.dynu.com                                          # IP update server.
protocol=dyndns2
login=username                                               # Your username.
password=password                                            # Password or MD5 of password.
*******.dynu.net 

Link to comment
  • 2 months later...
  • 5 months later...
  • 4 months later...
On 25/11/2017 at 10:42 AM, wgstarks said:

I’m looking for a DDNS Updater I can use with Namecheap. Will this docker work for that? Any instructions?

 

I know this was months ago but maybe it will still help, or someone else in the future as I just struggled with it for a while. Namecheap support will point you to all the relevant info and settings you need on their end. 

 

Edit ddclient.conf and paste this in.

 

daemon=300
timeout=10
syslog=yes
ssl=yes
use=web, web=icanhazip.com
protocol=namecheap
server=dynamicdns.park-your-domain.com
login=yourdomain.tld
password=NamecheapDynamicDNSPassword
@

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.