Files
homelab/hosts/sin/authelia.nix

55 lines
1.3 KiB
Nix

{ config, lib, ... }:
let
cfg = config.services.authelia.instances.main;
dataDir = /var/lib/authelia/${cfg.name};
in
{
services.authelia.instances = {
main = {
enable = true;
secrets = {
jwtSecretFile = config.age.secrets.authelia-jwt.path;
storageEncryptionKeyFile = config.age.secrets.authelia-encryption.path;
sessionSecretFile = config.age.secrets.authelia-session.path;
};
settings = {
theme = "light";
log.level = "debug";
authentication_backend = {
file = {
path = dataDir + "/users.yml";
};
};
storage = {
local = {
path = dataDir + "/db.sqlite3";
};
};
session = {
cookies = [
{
domain = "shobu.fr";
authelia_url = "https://auth.Shobu.fr";
default_redirection_url = "https://shobu.fr";
}
];
};
access_control = {
default_policy = "deny";
rules = [
{
domain = "*.shobu.fr";
policy = "one_factor";
}
];
};
};
};
};
systemd.tmpfiles.rules = lib.mkif cfg.enable [
"d '${dataDir}' 0700 ${cfg.user} ${cfg.group} - -"
];
}