Jump to content
Capt.Insano

Updated DDClient Container (based on smdion's)

25 posts in this topic Last Reply

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.

Share this post


Link to post

Tested, works perfectly.  Thanks to smdion & Capt.Insano for making this.

Share this post


Link to post

Well done, what did you end up with in your conf file in the end. I had various conf files to try, but the one I posted in the other thread was the first I tried and it worked, so never got around to trying any others....

Share this post


Link to post

ddclient.conf:

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

Share this post


Link to post

Is any of you is able to create a patch for DDClient for name.com (they use a API key)... I'm just not coder so i'm not able :(

Share this post


Link to post

Is any of you is able to create a patch for DDClient for name.com (they use a API key)... I'm just not coder so i'm not able :(

 

Wouldn't you be better off using this ddnsnix container from smdion which supports name.com?

Share this post


Link to post

Is any of you is able to create a patch for DDClient for name.com (they use a API key)... I'm just not coder so i'm not able :(

 

As stated above you are better off trying smdion's ddsnix from this post.

 

 

 

 

Share this post


Link to post

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

Share this post


Link to post

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.

Share this post


Link to post

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.

Share this post


Link to post

 

 

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.

Share this post


Link to post

Huge thanks to Capt to fixing this in my absence.  I have updated my docker with Capt fixes!

Share this post


Link to post

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.

Share this post


Link to post

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.

Share this post


Link to post

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?

Share this post


Link to post

Try CaptInsano's or Mace's version

 

Sent from my C6903 using Tapatalk

 

 

Share this post


Link to post

Try CaptInsano's or Mace's version

 

Sent from my C6903 using Tapatalk

 

Yes I am trying Mace's version now and I believe his is 3.8.3. It's the log is not showing any issues with recognizing CloudFlare.

 

Thank you!

Share this post


Link to post

 

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 

Share this post


Link to post

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

Share this post


Link to post
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
@

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now