nix-config/hosts/containers/keycloak/default.nix

45 lines
1.3 KiB
Nix

{ hostRegistry, config, pkgs, ... }:
let
frontendDomain = "keycloak.c3d2.de";
in
{
networking.hostName = "keycloak";
networking.useNetworkd = true;
networking.interfaces.eth0.ipv4.addresses = [{
address = hostRegistry.hosts.${config.networking.hostName}.ip4;
prefixLength = 26;
}];
networking.defaultGateway = "172.20.73.1";
# http https
networking.firewall.allowedTCPPorts = [ 80 443 ];
services.nginx = {
enable = true;
virtualHosts."keycloak.c3d2.de" = {
default = true;
forceSSL = true;
enableACME = true;
locations."/" = {
# proxyPass = "http://localhost:8073";
# proxyWebsockets = true;
};
};
};
# noXlibs breaks cairo:
environment.noXlibs = false;
services.keycloak = let
inherit (pkgs.keycloak-secrets) dbPassword;
in {
enable = true;
inherit (pkgs.keycloak-secrets) initialAdminPassword;
frontendUrl = "https://${frontendDomain}/auth";
forceBackendUrlToFrontendUrl = true;
# sslCertificate = "/var/lib/acme/${frontendDomain}/fullchain.pem";
# sslCertificateKey = "/var/lib/acme/${frontendDomain}/key.pem";
database.passwordFile = builtins.toFile "db_password" dbPassword;
};
systemd.services.keycloak.requires = [ "acme-${frontendDomain}.service" ];
}