Ddclient-snap on Ubuntu Core, with use=cmd

Hi all,

looking for some guidance on this setup:

Raspberry Pi4 4GB running Core 22 (also core18 and core24 are there)

On this I’m happily running for years a nextcloud setup. My home router exposes this to the internet, lets-encrypt certificate and all.

Now, I would like to use another dynamic hostname that should expose another port on the RPi in addition. With another port-forwarding rule on my router.

I thought to run ddclient-snap for that.

The recommended ddclient.conf would look like this:

protocol=dyndns2
# Run in daemon mode: auto-update DNS every 10min. (Alternatively, use cron.)
#daemon=600
# "use=cmd" and the curl command is one way of doing this; other ways exist
use=cmd, cmd='curl https://checkipv4.dedyn.io/'
ssl=yes
server=update.dedyn.io
login=[domain]
password='[token secret]'
[domain]

Thus I installed the curl snap. Testing from the shell curl https://checkipv4.dedyn.io/ outputs my external IP, as expected.

I just don’t know if that curl command also works when called from the ddclient-service?

Looking at the docs from the snap-creator (Thank You for doing this!) https://git.giaever.org/joachimmg/ddclient-snap/issues/1

My setup seems to not allow for ddclient-snap.daemon:

error: snap "ddclient-snap" has no service "daemon"

Thus not sure how to test.

Any obvious things I’m missing here?

Happy to get any tips :slight_smile:

Greeting from Norway

That would only work if @joachimmg would include curl in the ddclient snap, by default snaps can not execute binaries from other snaps (there are ways through the content interface, but that would require non-trivial coordinated changes on both snaps)

Makes sense, thanks for the clarification. Probably then checking out other options.