diff --git a/nixos/modules/services/web-apps/netbox.nix b/nixos/modules/services/web-apps/netbox.nix index 37a0f76257b7..584b159309f8 100644 --- a/nixos/modules/services/web-apps/netbox.nix +++ b/nixos/modules/services/web-apps/netbox.nix @@ -392,6 +392,25 @@ in ''; }; + redis.createLocally = mkOption { + type = types.bool; + default = true; + description = '' + Whether to enable and set up a Redis database for NetBox locally. + ''; + }; + + postgresql.createLocally = mkOption { + type = types.bool; + default = true; + description = '' + Whether to enable and set up PostgreSQL locally. + + This will automatically created a database and a local user, that can + authenticate over Unix domain sockets with `SO_PEERCRED`. + ''; + }; + package = lib.mkOption { type = types.package; default = @@ -523,9 +542,9 @@ in config = lib.mkIf cfg.enable { services.netbox.plugins = lib.mkIf enableLDAP (ps: [ ps.django-auth-ldap ]); - services.redis.servers.netbox.enable = true; + services.redis.servers.netbox.enable = cfg.redis.createLocally; - services.postgresql = { + services.postgresql = lib.mkIf cfg.postgresql.createLocally { enable = true; ensureDatabases = [ "netbox" ]; ensureUsers = [