restructure dockers, add watchtower

This commit is contained in:
2025-10-04 17:10:10 -05:00
parent 3bd8726620
commit c94e6a207c
5 changed files with 43 additions and 4 deletions

View File

@@ -0,0 +1,91 @@
{ pkgs, config, lib, ... }:
{
options = {
modules.homelab.docker.ddns.enable = lib.mkEnableOption "enable ddns docker";
};
config = lib.mkIf config.modules.homelab.docker.ddns.enable {
let
api_token = builtins.readFile /home/blake/.keyring/ddns/api_token;
zone_id_blakedheld = builtins.readFile /home/blake/.keyring/ddns/zone_id_blakedheld;
zone_id_recoil = builtins.readFile /home/blake/.keyring/ddns/zone_id_recoil;
# define the config file
ddns_cfg = pkgs.writeText "config.json" ''
{
"cloudflare": [
{
"authentication": {
"api_token": "${api_token}"
},
"zone_id": "${zone_id_blakedheld}",
"subdomains": [
{
"name": "@",
"proxied": true
},
{
"name": "*",
"proxied": true
},
{
"name": "git",
"proxied": false
}
]
},
{
"authentication": {
"api_token": "${api_token}"
},
"zone_id": "${zone_id_recoil}",
"subdomains": [
{
"name": "@",
"proxied": true
},
{
"name": "*",
"proxied": true
},
{
"name": "mc",
"proxied": true
},
{
"name": "smp",
"proxied": true
},
{
"name": "superflat",
"proxied": false
},
{
"name": "skyblock",
"proxied": false
}
]
}
],
"a": true,
"aaaa": true,
"purgeUnknownRecords": false
}
'';
in
{
virtualisation.docker.containers.ddns = {
image = "timothyjmiller/cloudflare-ddns:latest";
containerName = "ddns";
restartPolicy = "unless-stopped";
hostNetwork = true;
environment = { PUID = "1000"; PGID = "1000"; };
volumes = [ "${ddns_cfg}:/config.json" ];
securityOpt = [ "no-new-privileges:true" ];
};
}
};
}