1
Fork 0
satellite/hosts/nixos/lapetus/services/ddclient.nix

39 lines
1.1 KiB
Nix

# DDClient is a dynamic dns service
{ config, pkgs, ... }:
{
imports = [ ../../common/optional/services/acme.nix ];
services.ddclient = {
enable = true;
interval = "1m";
configFile = config.sops.templates."ddclient.conf".path;
# REASON: latest release doesn't support explicit root-domain annotations for porkbun
package = pkgs.ddclient.overrideAttrs (_: {
src = pkgs.fetchFromGitHub {
owner = "ddclient";
repo = "ddclient";
rev = "9885d55a3741363ad52d3463cb846d5782efb073";
sha256 = "0zyi8h13y18vrlxavx1vva4v0ya5v08bxdxlr3is49in3maz2n37";
};
});
};
sops.templates."ddclient.conf".content = ''
# General settings
cache=/var/lib/ddclient/ddclient.cache # See the nixos module for details
foreground=YES
# Routers
use=web, web=checkip.dyndns.com/, web-skip='Current IP Address: '
# Protocols
protocol=porkbun
apikey=${config.sops.placeholder.porkbun_api_key}
secretapikey=${config.sops.placeholder.porkbun_secret_api_key}
root-domain=moonythm.dev # The root domain detection doesn't work properly
real.lapetus.moonythm.dev
'';
}