nix/hosts/marvin/services/authentik.nix

65 lines
2.1 KiB
Nix
Raw Normal View History

2022-09-12 19:40:24 +00:00
{config, ...}: {
2022-07-27 19:47:02 +00:00
virtualisation.oci-containers.containers = let
authentikVersion = "2022.8.2";
2022-07-27 19:47:02 +00:00
in {
authentik-db = {
image = "postgres:12-alpine";
volumes = [
"/var/lib/authentik/db:/var/lib/postgresql/data"
];
2022-09-12 19:40:24 +00:00
environmentFiles = [config.age.secrets.authentik-env.path];
2022-07-27 19:47:02 +00:00
environment = {
POSTGRES_PASSWORD = "\${PG_PASS}";
POSTGRES_USER = "authentik";
POSTGRES_DB = "authentik";
};
2022-10-05 22:17:21 +00:00
extraOptions = ["--network=authentik"];
2022-07-27 19:47:02 +00:00
};
authentik-redis = {
image = "redis:alpine";
2022-10-05 22:17:21 +00:00
extraOptions = ["--network=authentik"];
2022-07-27 19:47:02 +00:00
};
authentik-server = {
image = "ghcr.io/goauthentik/server:${authentikVersion}";
cmd = ["server"];
2022-09-12 19:40:24 +00:00
environmentFiles = [config.age.secrets.authentik-env.path];
2022-07-27 19:47:02 +00:00
environment = {
AUTHENTIK_REDIS__HOST = "authentik-redis";
AUTHENTIK_POSTGRESQL__HOST = "authentik-db";
AUTHENTIK_POSTGRESQL__USER = "authentik";
AUTHENTIK_POSTGRESQL__NAME = "authentik";
AUTHENTIK_POSTGRESQL__PASSWORD = "\${PG_PASS}";
AUTHENTIK_ERROR_REPORTING__ENABLED = "false";
};
ports = [
"6908:9000"
"6943:9443"
2022-07-27 19:47:02 +00:00
];
volumes = [
"/var/lib/authentik/media:/media"
"/var/lib/authentik/templates:/templates"
];
2022-10-05 22:17:21 +00:00
extraOptions = ["--network=authentik"];
2022-07-27 19:47:02 +00:00
};
authentik-worker = {
image = "ghcr.io/goauthentik/server:${authentikVersion}";
cmd = ["worker"];
2022-09-12 19:40:24 +00:00
environmentFiles = [config.age.secrets.authentik-env.path];
2022-07-27 19:47:02 +00:00
environment = {
AUTHENTIK_REDIS__HOST = "authentik-redis";
AUTHENTIK_POSTGRESQL__HOST = "authentik-db";
AUTHENTIK_POSTGRESQL__USER = "authentik";
AUTHENTIK_POSTGRESQL__NAME = "authentik";
AUTHENTIK_POSTGRESQL__PASSWORD = "\${PG_PASS}";
AUTHENTIK_ERROR_REPORTING__ENABLED = "false";
};
volumes = [
"/var/lib/authentik/media:/media"
"/var/lib/authentik/templates:/templates"
"/var/lib/authentik/certs:/certs"
];
2022-10-05 22:17:21 +00:00
extraOptions = ["--network=authentik"];
2022-07-27 19:47:02 +00:00
};
};
}