Skip to content

dyndns

A dynamic DNS service to update domain IPs

To understand the possible options that can be set visit the documentation of ddns-updater

Usage

To use this module, import it like this:

{config, lib, inputs, ...}: {
    imports = [ inputs.clan-core.clanModules.dyndns ];
    # ...
}

Module Options

clan.dyndns.period

Domain update period in minutes

Type: signed integer

Default:

5

dyndns

clan.dyndns.server.domain

Domain to serve the webservice on

Type: string

dyndns

clan.dyndns.server.enable

Whether to enable dyndns webserver.

Type: boolean

Default:

false
Example
true

dyndns

clan.dyndns.server.port

Port to listen on

Type: signed integer

Default:

54805

dyndns

clan.dyndns.settings

Configuration for which domains to update

Type: attribute set of (submodule)

Default:

[ ]

dyndns

clan.dyndns.settings.<name>.domain

The top level domain to update.

Type: string

Example
"example.com"

dyndns

clan.dyndns.settings.<name>.extraSettings

Extra settings for the provider. Provider specific settings: https://github.com/qdm12/ddns-updater#configuration

Type: attribute set of string

Default:

{ }

dyndns

clan.dyndns.settings.<name>.provider

The dyndns provider to use

Type: string

Example
"namecheap"

dyndns

clan.dyndns.settings.<name>.secret_field_name

The field name for the secret

Type: one of "password", "token", "api_key"

Default:

"password"
Example
[
  "password"
  "api_key"
]

dyndns