summaryrefslogtreecommitdiff
path: root/hosts/ahmed/cloudflare-ddns.nix
blob: 797cb476e05bf7d6132bd4c4f31603a0a8e9e952 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# This module sets up cloudflare-dyndns for <linus.onl>.

{ lib, config, ... }:

let

in
{
  age.secrets.cloudflare-dyndns-api-token = {
    file = ../../secrets/cloudflare-ddns-token.env.age;
    # TODO: configure permissions
  };

  services.cloudflare-dyndns = {
    enable = true;
    apiTokenFile = config.age.secrets.cloudflare-dyndns-api-token.path;
    proxied = true;
    domains = [ "linus.onl" ];
  };

  # Override the systemd service generated by `services.cloudflare-dyndns` to wait for key to be decrypted.
  systemd.services.cloudflare-dyndns.after = [ "cloudflare-ddns-key.service" ];
}