probably broken
This commit is contained in:
81
system/services/containers/keycloak/default.nix
Normal file
81
system/services/containers/keycloak/default.nix
Normal file
@@ -0,0 +1,81 @@
|
||||
{ config, lib, inputs, ... }: {
|
||||
|
||||
options.sysconfig.virtualization.keycloak.enable = lib.options.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
};
|
||||
|
||||
imports = [
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
];
|
||||
|
||||
config = lib.mkIf config.sysconfig.virtualization.keycloak.enable {
|
||||
|
||||
sops.secrets."keycloak/dbpass" = {};
|
||||
|
||||
networking = {
|
||||
|
||||
nat.internalInterfaces = [ "ve-keycloak" ];
|
||||
};
|
||||
|
||||
containers.keycloak = {
|
||||
|
||||
autoStart = true;
|
||||
privateNetwork = true;
|
||||
hostAddress = "192.168.100.10";
|
||||
localAddress = "192.168.100.22";
|
||||
|
||||
extraFlags = [
|
||||
"--load-credential=dbpass:${config.sops.secrets."keycloak/dbpass".path}"
|
||||
];
|
||||
|
||||
bindMounts = {
|
||||
"/etc/keycloak" = {
|
||||
hostPath = "/ssd1/Keycloak";
|
||||
isReadOnly = false;
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||
|
||||
systemd.services.secrets_setup = {
|
||||
wantedBy = [ "keycloak.service" ];
|
||||
|
||||
serviceConfig = {
|
||||
LoadCredential = [
|
||||
"dbpass"
|
||||
];
|
||||
};
|
||||
|
||||
script = ''
|
||||
cat ''${CREDENTIALS_DIRECTORY}/dbpass > /etc/keycloak/dbpass
|
||||
chown postgres:postgres /etc/keycloak/dbpass
|
||||
'';
|
||||
};
|
||||
|
||||
services.keycloak = {
|
||||
|
||||
enable = true;
|
||||
|
||||
database.passwordFile = "/etc/keycloak/dbpass";
|
||||
|
||||
settings = {
|
||||
hostname = "auth.esotericbytes.com";
|
||||
|
||||
http-enabled = true;
|
||||
|
||||
proxy-headers = "xforwarded";
|
||||
|
||||
proxy-trusted-addresses = "192.168.100.11";
|
||||
};
|
||||
|
||||
initialAdminPassword = "7567";
|
||||
};
|
||||
|
||||
system.stateVersion = "25.05";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user