54 lines
1.3 KiB
Nix
54 lines
1.3 KiB
Nix
{ config, lib, ... }:
|
|
|
|
let
|
|
cfg = config.homelab.apps.bind9;
|
|
in {
|
|
options.homelab.apps.bind9.enable = lib.mkEnableOption "ISC BIND 9 (Docker)";
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
homelab.virtualisation.containers.enable = true;
|
|
|
|
environment.etc = {
|
|
"bind/named.conf" = {
|
|
source = ./named.conf;
|
|
mode = "0555";
|
|
};
|
|
"bind/named.conf.options" = {
|
|
source = ./named.conf.options;
|
|
mode = "0555";
|
|
};
|
|
"bind/named.conf.local" = {
|
|
source = ./named.conf.local;
|
|
mode = "0555";
|
|
};
|
|
"bind/zones/db.depeuter.dev" = {
|
|
source = ./db.depeuter.dev;
|
|
mode = "0555";
|
|
};
|
|
};
|
|
|
|
virtualisation.oci-containers.containers.bind9 = {
|
|
hostname = "bind9";
|
|
#image = "internetsystemsconsortium/bind9:9.20"; # Current stable
|
|
image = "ubuntu/bind9"; # Current stable
|
|
autoStart = true;
|
|
ports = [
|
|
"53:53/udp"
|
|
"53:53/tcp"
|
|
"953:953/tcp"
|
|
];
|
|
extraOptions = [
|
|
];
|
|
environment = {
|
|
};
|
|
volumes = [
|
|
"/etc/bind:/etc/bind" # For configuration, your `named.conf` lives here
|
|
"bind9-cache:/var/cache/bind"
|
|
#"...:/var/lib/bind" # Secondary zones
|
|
"bind9-logs:/var/log" # Logfiles
|
|
];
|
|
labels = {
|
|
};
|
|
};
|
|
};
|
|
}
|