feat: add groups to authentik apps + add mail base
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 5s

This commit is contained in:
Xavier Morel
2026-06-12 21:36:07 +02:00
parent 1ca2c038e8
commit ab98aeb897
19 changed files with 70 additions and 2 deletions
+1
View File
@@ -19,5 +19,6 @@
dns = 1042;
z2m = 1016;
papers = 1032;
mail = 1033;
};
}
+1
View File
@@ -36,6 +36,7 @@
};
private = true;
auth = true;
group = "Système";
description = "Base de données PostgreSQL.";
icon = "https://wiki.postgresql.org/images/3/30/PostgreSQL_logo.3colors.120x120.png";
otherDomains = [
+1
View File
@@ -35,6 +35,7 @@
};
private = true;
auth = true;
group = "Système";
description = "Serveur DNS & DHCP fourni par AdGuardHome & Unbound.";
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/adguard-home.png";
};
+1
View File
@@ -37,6 +37,7 @@ in
};
private = true;
auth = true;
group = "Outils";
description = "Suivi des finances via Firefly-III.";
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/firefly-iii.png";
};
+1
View File
@@ -6,6 +6,7 @@
memory = 2048;
disk = "15G";
swap = 1024;
onboot = false;
};
system = {
port = 80;
+34
View File
@@ -0,0 +1,34 @@
{ ... }:
let
db_pass = import ../config/_passwords.nix;
in
{
my-lxc.mail = {
container = {
cores = 1;
memory = 512;
disk = "4G";
swap = 512;
};
system = {
port = 80;
additionalPorts = [
25 # smtp
465 # smtps
];
services.postfix = {
enable = true;
enableSubmission = true;
enableSubmissions = true;
mailname = "mail.m0rel.eu";
domain = "plg.m0rel.eu";
};
};
logging = {
enable = true;
metricsEnable = true;
};
private = true; # available only on private lan
auth = false; # auth overlay
};
}
+1
View File
@@ -29,6 +29,7 @@ in
};
private = true;
auth = false;
group = "Médias";
description = "Serveur média avec Jellyfin / jellyseer (?).";
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/jellyfin.png";
};
+1
View File
@@ -22,6 +22,7 @@
};
private = true;
auth = true; # unused anyway
group = "Système";
description = "Serveur de métriques fourni par Prometheus.";
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/prometheus.png";
};
+1
View File
@@ -31,6 +31,7 @@ in
};
private = true;
auth = true;
group = "Système";
description = "Interface de monitoring via Grafana.";
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/grafana.png";
};
+1
View File
@@ -46,6 +46,7 @@ in
private = true; # available only on private lan
auth = true; # auth overlay
description = "Serveur MQTT";
group = "Système";
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/mqtt.png";
};
}
+1
View File
@@ -26,6 +26,7 @@ in
};
private = true;
auth = true;
group = "Outils";
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/paperless-ngx.png";
};
+2
View File
@@ -7,6 +7,7 @@
memory = 512;
disk = "5G";
swap = 512;
onboot = false;
};
system = {
port = 80;
@@ -20,6 +21,7 @@
};
private = true;
auth = true;
group = "Système";
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/ups.png";
};
+1
View File
@@ -50,6 +50,7 @@
};
private = true;
auth = true;
group = "Système";
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/traefik.png";
};
+1
View File
@@ -62,5 +62,6 @@ in
port = 9696;
}
];
group = "Médias";
};
}
+2
View File
@@ -6,6 +6,7 @@
memory = 512;
disk = "6G";
swap = 512;
onboot = false;
};
system = {
additionalPorts = [ 80 ];
@@ -19,6 +20,7 @@
};
private = true; # available only on private lan
auth = true; # auth overlay
group = "Système";
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/zigbee2mqtt-light.png";
};
}
@@ -35,6 +35,7 @@ in
protocol_provider = "\${resource.authentik_provider_proxy.${containerName}.id}";
meta_description = def.description;
meta_icon = def.icon;
group = def.group;
}
) cfg
)
@@ -44,42 +45,49 @@ in
slug = "home_assistant";
protocol_provider = "\${resource.authentik_provider_oauth2.home_assistant.id}";
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/home-assistant.png";
group = "Médias";
};
matrix = {
name = "matrix";
slug = "matrix";
protocol_provider = "\${resource.authentik_provider_oauth2.matrix.id}";
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/matrix-light.png";
group = "Outils";
};
vaultwarden = {
name = "vaultwarden";
slug = "vaultwarden";
protocol_provider = "\${resource.authentik_provider_oauth2.vaultwarden.id}";
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/vaultwarden-light.png";
group = "Outils";
};
gitea = {
name = "gitea";
slug = "gitea";
protocol_provider = "\${resource.authentik_provider_oauth2.gitea.id}";
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/gitea.png";
group = "Outils";
};
nas = {
name = "nas";
slug = "nas";
protocol_provider = "\${resource.authentik_provider_oauth2.nas.id}";
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/synology-light.png";
group = "Médias";
};
jellyfin = {
name = "jellyfin";
slug = "jellyfin";
protocol_provider = "\${resource.authentik_provider_oauth2.jellyfin.id}";
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/jellyfin.png";
group = "Médias";
};
proxmox = {
name = "proxmox";
slug = "proxmox";
protocol_provider = "\${resource.authentik_provider_oauth2.proxmox.id}";
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/proxmox-light.png";
group = "Système";
};
};
+1 -1
View File
@@ -30,7 +30,7 @@ in
type = "veth";
};
protection = c.protection;
onboot = true;
onboot = c.onboot;
rootfs = {
storage = "local-lvm";
size = c.disk;
+10
View File
@@ -65,6 +65,11 @@ in
description = "Overrides to the Proxmox LXC Terraform resource";
default = { };
};
onboot = mkOption {
type = bool;
default = true;
description = "Boot at Proxmox's startup";
};
protection = mkOption {
type = bool;
description = "Whether container should be protected against changes.";
@@ -174,6 +179,11 @@ in
description = "Possible description for the service";
default = null;
};
group = mkOption {
type = nullOr str;
description = "Group for the service (on Authentik)";
default = null;
};
icon = mkOption {
type = nullOr str;
description = "URL for a logo for the service";
+1 -1
View File
@@ -3,7 +3,7 @@
terraform.required_providers = {
proxmox = {
source = "Telmate/proxmox";
version = "~> 2.9.11";
version = "= 3.0.2-rc07";
};
postgresql = {