{ config, ... }: let UID = 1111; in { imports = [ ./proxy.nix ]; desu.secrets.kanidm-tls-key.owner = "kanidm"; desu.secrets.kanidm-tls-cert.owner = "kanidm"; users.users.kanidm = { isNormalUser = true; uid = UID; }; virtualisation.oci-containers.containers.kanidm = { image = "kanidm/server:1.4.2"; volumes = [ "/srv/kanidm/data:/data/db" "${./server.toml}:/data/server.toml" "${./style.css}:/hpkg/style.css" "${./fish.png}:/hpkg/img/fish.png" "${config.desu.secrets.kanidm-tls-key.path}:/data/key.pem" "${config.desu.secrets.kanidm-tls-cert.path}:/data/chain.pem" ]; user = "${builtins.toString UID}"; }; systemd.tmpfiles.rules = [ "d /srv/kanidm/data 0700 ${builtins.toString UID} ${builtins.toString UID} -" ]; services.nginx.virtualHosts."id.stupid.fish" = { forceSSL = true; useACMEHost = "stupid.fish"; locations."/" = { proxyPass = "https://kanidm.docker:8443$request_uri"; proxyWebsockets = true; }; }; }