forked from nico/dots
kanidm: init
This commit is contained in:
parent
f1bf4c3ea1
commit
d6a7a1fc53
2 changed files with 48 additions and 0 deletions
|
|
@ -30,6 +30,7 @@
|
||||||
./modules/services/karakeep.nix
|
./modules/services/karakeep.nix
|
||||||
./modules/services/uptime-kuma.nix
|
./modules/services/uptime-kuma.nix
|
||||||
./modules/services/pocketid.nix
|
./modules/services/pocketid.nix
|
||||||
|
./modules/services/auth/kanidm.nix
|
||||||
./modules/services/caddy.nix
|
./modules/services/caddy.nix
|
||||||
./modules/services/forgejo.nix
|
./modules/services/forgejo.nix
|
||||||
./modules/services/miniflux.nix
|
./modules/services/miniflux.nix
|
||||||
|
|
|
||||||
47
modules/services/auth/kanidm.nix
Normal file
47
modules/services/auth/kanidm.nix
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.kanidm = {
|
||||||
|
enableServer = true;
|
||||||
|
enablePam = false;
|
||||||
|
package = pkgs.kanidm_1_5;
|
||||||
|
|
||||||
|
serverSettings = {
|
||||||
|
bindaddress = "127.0.0.1:8443";
|
||||||
|
ldapbindaddress = "0.0.0.0:636";
|
||||||
|
domain = "${config.homelab.authDomain}";
|
||||||
|
origin = "https://${config.homelab.authDomain}";
|
||||||
|
|
||||||
|
tls_chain = "${config.security.acme.certs.${config.homelab.authDomain}.directory}/cert.pem";
|
||||||
|
tls_key = "${config.security.acme.certs.${config.homelab.authDomain}.directory}/key.pem";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
security.acme.certs."${config.homelab.authDomain}" = {
|
||||||
|
group = "kanidm-acme";
|
||||||
|
|
||||||
|
domain = "${config.homelab.authDomain}";
|
||||||
|
dnsProvider = "cloudflare";
|
||||||
|
dnsResolver = "1.1.1.1:53";
|
||||||
|
dnsPropagationCheck = true;
|
||||||
|
environmentFile = /var/lib/caddy/secret;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.caddy.virtualHosts."${config.homelab.authDomain}" = {
|
||||||
|
useACMEHost = config.services.kanidm.serverSettings.domain;
|
||||||
|
extraConfig = ''
|
||||||
|
reverse_proxy https://localhost:8443 {
|
||||||
|
header_up Host "${config.homelab.authDomain}:8443"
|
||||||
|
transport http {
|
||||||
|
tls_server_name ${config.homelab.authDomain}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# create a group to fix permission issues when accessing
|
||||||
|
# certificates.
|
||||||
|
users.groups.kanidm-acme = {};
|
||||||
|
users.users.caddy.extraGroups = [ "kanidm-acme" ];
|
||||||
|
users.users.kanidm.extraGroups = [ "kanidm-acme" ];
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue