coppit

Container for No-IP dynamic DNS updates

Recommended Posts

By request, here's a container for keeping your IP up-to-date using No-IP:

 

https://registry.hub.docker.com/u/coppit/no-ip/

 

The easiest way to install this is to go to Community Applications, search for "coppit" then select the No-Ip container. Searching for "no ip" or "no-ip" won't work because the search ignores short words. Searching for "noip" might find it. But thankfully my name "coppit" is pretty unique. B|

 

Note: On July 12 2015 the config file format changed. As described in the webpage above, running it will create a noip.conf file that will need to be edited. You can delete the noip2.conf file.

Edited by coppit
  • Upvote 1

Share this post


Link to post
Share on other sites

I think im missing something here. when i install the docker from the template i map the container volume: /config to the host path: /mnt/user/appdata/noIp/config/

the install process runs. everything seems fine. after about 15 minutes the docker is stopped and the log says "Could not find /config/noip2.conf"

 

It appears i have not set something up correctly. Any suggestions?

Share this post


Link to post
Share on other sites

No-Ip requires an interactive setup. Did you do the command line step as described on the web page? If you used the unraid template without setting it up with the command line, I could see that causing a problem.

 

You might find duckdns easier to use, if you don't want to deal with the command line.

Share this post


Link to post
Share on other sites

ahh i see. i thought the command line instructions predated the docker template. so if im understanding this correctly i need to execute the command line portion first then install the docker from the template?

Share this post


Link to post
Share on other sites

Could I impose on someone to please write directions how to set this up?

 

Can the template be re-written so that one can enter our login information as variables...?

 

I have no-ip and would love to get this going.

 

Thanks,

 

H.

 

 

Share this post


Link to post
Share on other sites

I've updated the container to make it easier. The first time you run it, it will create a noip.conf file. Edit the file, then start it again. You should be good to go!

Share this post


Link to post
Share on other sites

Its thru imgur... not sure how long they keep stuff up...just as a safe keeping, download it and re-up in case they remove it... I am glad you like it. Thanks for this docker!

Share this post


Link to post
Share on other sites

After a while of running the Docker, I notice that it stops working.... on the log screen, I see this (ip number changed for privacy):

 

[Jul 14 09:20:15] No-IP successfully called. Result was "nochg 108.111.111.111".
[Jul 14 09:25:21] No-IP successfully called. Result was "nochg 108.111.111.111".
[Jul 14 09:30:24] Something went wrong. Check your settings. Result was "".
[Jul 14 09:30:24] For an explanation of error codes, see http://www.noip.com/integrate/response

 

Would it be better running the script as a cron task rather that a continuously looping script? Not sure if my internet was down for a little or what may have caused this. It has happened 3 times in the past 2 days.

 

Thanks..

 

H.

Share this post


Link to post
Share on other sites

I had No-ip working with issues. I noticed there was an update to the docker so I updated. This broke the installation so after a bit of reading and research I sorted it out. 

 

But now I get an error when running the docker and it stops.

 

[Jul 14 16:40:26] Something went wrong. Check your settings. Result was "nochg".
[Jul 14 16:40:26] For an explanation of error codes, see http://www.noip.com/integrate/response

 

I looked up the nochg result and it means that there was no ip update done because the ip submitted was current.  This result shouldn't cause the docker to stop.

 

The problem now is I can not get the docker to stay in a running state. I suppose when my ip changes I will be able to run it again and all will be good. But it is a bit of a pain.

 

I would imagine rebooting my router might give me a new ip. But it would be better to have the response handled correctly.

 

 

Share this post


Link to post
Share on other sites

After a while of running the Docker, I notice that it stops working.... on the log screen, I see this (ip number changed for privacy):

 

[Jul 14 09:30:24] Something went wrong. Check your settings. Result was "".

 

Hm... That's not supposed to happen. I suppose I could ignore empty string. Or at least tolerate it happening intermittently before failing. I suspect that curl had trouble connecting, but didn't dump any error since I'm running with the "silent" flag. I'll try to improve that.

 

Would it be better running the script as a cron task rather that a continuously looping script? Not sure if my internet was down for a little or what may have caused this. It has happened 3 times in the past 2 days.

 

cron jobs don't send logs to "docker logs". Plus I want to stop if there's a problem. Otherwise your account can get blocked. I'll update it to be more tolerant of network failures.

Share this post


Link to post
Share on other sites

I had No-ip working with issues. I noticed there was an update to the docker so I updated. This broke the installation so after a bit of reading and research I sorted it out.

 

Yeah, sorry about that. The new way is better, and I was thinking that not too many people were using this container yet. 

 

[Jul 14 16:40:26] Something went wrong. Check your settings. Result was "nochg".

 

Wha??? "nochg" violates the API. It should be "nochg<space><ip>". Sigh. I guess I can treat that as a success. Are you sure that the domain is working right?

Share this post


Link to post
Share on other sites

Okay, I just pushed an update with these changes:

 

    - Capture errors from "curl". Show them, and make them nonfatal.

    - Treat "good" and "nochg" without an IP as successes. (Even though this violates the API.)

      - Note that in my testing I saw "nochg" even when my credentials were invalid

    - Wait 30 minutes before retrying when the status is 911, as requested in the API docs.

Share this post


Link to post
Share on other sites

Thank you coppit. I have just upgraded, and so far so good. I will let it run overnight and report how its going.

 

Thanks again,

 

H.

Share this post


Link to post
Share on other sites

Its running great after about 12 hours... my recent log shows a few of these:

 

[Jul 15 05:37:26] Couldn't update. Trying again in 5 minutes. Output from curl command was "curl: (56) SSL read: error:00000000:lib(0):func(0):reason(0), errno 104".

 

But it keeps chugging afterwards... not sure if they are endemic minor interruption with either my ISP, or no-ip, or my router... I get them very sporadically, yet not too often. It's nice that it ignores the error and it keeps updating properly in subsequent updates.

 

Thank you!!

Share this post


Link to post
Share on other sites

I think it is correct but with such limited log files it is hard to be certain.

 

I've update and now get the following log

 

[Jul 15 22:34:10] No-IP successfully called. Result was "nochg".

 

How would I know if I have the correct config?

Share this post


Link to post
Share on other sites

[Jul 15 05:37:26] Couldn't update. Trying again in 5 minutes. Output from curl command was "curl: (56) SSL read: error:00000000:lib(0):func(0):reason(0), errno 104".

 

Yeah, mine too. Exact same error. I see it happened a couple of times in a row max.

 

How would I know if I have the correct config?

 

Are you looking for a manual answer? From a machine inside your network, you can enter your domain into http://ping.eu/nslookup/, then compare the IP at the top versus the one at the bottom.

 

I could implement some sort of verification inside the container, but I'd rather hold off on adding that complexity until we know it's needed. Besides, if it said "nochg" but the IP was wrong, I'm not sure what else we could do. I'd rather treat that as a transient failure and log it. (In the current version, it's being treated as a success.)

Share this post


Link to post
Share on other sites

Thank you for this Docker. Is it possible to change the amount of time before renewal of the IP?

Share this post


Link to post
Share on other sites

Thank you for this Docker. Is it possible to change the amount of time before renewal of the IP?

 

It updates immediately on start, then every five minutes. Is that not sufficient? I could make it configurable, with some minimum interval to prevent abuse.

Share this post


Link to post
Share on other sites

I was actually looking to drop it down to once an hour or every 30 minutes. I use it on a remote system that I do not have to access a lot. I was just thinking every 5 minutes in such a situation is overkill.

 

If you can make it adjustable without too much effort, that would be great.

Share this post


Link to post
Share on other sites

Okay, I've added an "INTERVAL" configuration value.

 

If you are upgrading from a previous version, you will need to add an interval to your config file. Example:

 

INTERVAL='30m'

 

The new default interval for new config files is 30m. The minimum allowed is 5m.

Share this post


Link to post
Share on other sites

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

Copyright © 2005-2017 Lime Technology, Inc. unRAID® is a registered trademark of Lime Technology, Inc.