git-subtree-dir: old-conf git-subtree-mainline:4667974392git-subtree-split:62a64a79a8
91 lines
2.9 KiB
Nix
91 lines
2.9 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
inputs,
|
|
...
|
|
}:
|
|
let version = "2025.10.1"; in
|
|
{
|
|
imports = [
|
|
inputs.quadlet-nix.nixosModules.quadlet
|
|
];
|
|
ragon.agenix.secrets.ds9AuthentikEnv = { };
|
|
ragon.agenix.secrets.ds9AuthentikLdapEnv = { };
|
|
virtualisation.quadlet = {
|
|
containers = {
|
|
authentik-server.containerConfig.image = "ghcr.io/goauthentik/server:${version}";
|
|
|
|
authentik-server.containerConfig.exec = "server";
|
|
authentik-server.containerConfig.networks = [
|
|
"podman"
|
|
"db-net"
|
|
"authentik-net"
|
|
];
|
|
authentik-server.containerConfig.volumes = [
|
|
"authentik-media:/media"
|
|
"authentik-certs:/certs"
|
|
];
|
|
authentik-server.containerConfig.environments = {
|
|
AUTHENTIK_REDIS__HOST = "authentik-redis";
|
|
AUTHENTIK_POSTGRESQL__HOST = "postgres";
|
|
AUTHENTIK_POSTGRESQL__USER = "authentik";
|
|
AUTHENTIK_POSTGRESQL__NAME = "authentik";
|
|
|
|
};
|
|
authentik-server.serviceConfig.TimeoutStartSec = "60";
|
|
authentik-server.containerConfig.environmentFiles = [
|
|
config.age.secrets.ds9AuthentikEnv.path
|
|
];
|
|
authentik-worker.containerConfig.image = "ghcr.io/goauthentik/server:${version}";
|
|
|
|
authentik-worker.containerConfig.exec = "worker";
|
|
authentik-worker.containerConfig.networks = [
|
|
"podman"
|
|
"db-net"
|
|
"authentik-net"
|
|
];
|
|
authentik-worker.containerConfig.volumes = [
|
|
"authentik-media:/media"
|
|
"authentik-certs:/certs"
|
|
];
|
|
authentik-worker.containerConfig.environments = {
|
|
AUTHENTIK_REDIS__HOST = "authentik-redis";
|
|
AUTHENTIK_POSTGRESQL__HOST = "postgres";
|
|
AUTHENTIK_POSTGRESQL__USER = "authentik";
|
|
AUTHENTIK_POSTGRESQL__NAME = "authentik";
|
|
|
|
};
|
|
authentik-worker.containerConfig.environmentFiles = [
|
|
config.age.secrets.ds9AuthentikEnv.path
|
|
];
|
|
authentik-worker.serviceConfig.TimeoutStartSec = "60";
|
|
authentik-ldap.containerConfig.image = "ghcr.io/goauthentik/ldap:${version}";
|
|
|
|
authentik-ldap.containerConfig.networks = [
|
|
"podman"
|
|
"authentik-net"
|
|
];
|
|
authentik-ldap.containerConfig.environments = {
|
|
AUTHENTIK_HOST = "http://authentik-server:9000";
|
|
AUTHENTIK_INSECURE = "true";
|
|
};
|
|
authentik-ldap.containerConfig.environmentFiles = [
|
|
config.age.secrets.ds9AuthentikLdapEnv.path
|
|
];
|
|
authentik-ldap.serviceConfig.TimeoutStartSec = "60";
|
|
authentik-redis.containerConfig.image = "docker.io/library/redis:alpine";
|
|
authentik-redis.containerConfig.networks = [
|
|
"authentik-net"
|
|
|
|
];
|
|
authentik-redis.containerConfig.volumes = [ "authentik-redis:/data" ];
|
|
authentik-redis.serviceConfig.TimeoutStartSec = "60";
|
|
};
|
|
networks = {
|
|
authentik.networkConfig.ipv6 = true;
|
|
authentik.networkConfig.name = "authentik-net";
|
|
authentik.networkConfig.internal = true;
|
|
};
|
|
};
|
|
}
|