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

45 lines
1.3 KiB
Nix
Raw Normal View History

2021-10-15 23:11:54 +02:00
{ hostRegistry, config, pkgs, ... }:
let
frontendDomain = "keycloak.c3d2.de";
in
2021-10-02 19:59:31 +02:00
{
2021-10-02 20:26:57 +02:00
networking.hostName = "keycloak";
2021-10-02 19:59:31 +02:00
networking.useNetworkd = true;
networking.interfaces.eth0.ipv4.addresses = [{
2021-10-05 12:53:16 +02:00
address = hostRegistry.hosts.${config.networking.hostName}.ip4;
2021-10-02 19:59:31 +02:00
prefixLength = 26;
}];
networking.defaultGateway = "172.20.73.1";
2021-10-15 23:11:54 +02:00
# 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" ];
2021-10-02 19:59:31 +02:00
}