feat: add groups to authentik apps + add mail base
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 5s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 5s
This commit is contained in:
@@ -19,5 +19,6 @@
|
|||||||
dns = 1042;
|
dns = 1042;
|
||||||
z2m = 1016;
|
z2m = 1016;
|
||||||
papers = 1032;
|
papers = 1032;
|
||||||
|
mail = 1033;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,6 +36,7 @@
|
|||||||
};
|
};
|
||||||
private = true;
|
private = true;
|
||||||
auth = true;
|
auth = true;
|
||||||
|
group = "Système";
|
||||||
description = "Base de données PostgreSQL.";
|
description = "Base de données PostgreSQL.";
|
||||||
icon = "https://wiki.postgresql.org/images/3/30/PostgreSQL_logo.3colors.120x120.png";
|
icon = "https://wiki.postgresql.org/images/3/30/PostgreSQL_logo.3colors.120x120.png";
|
||||||
otherDomains = [
|
otherDomains = [
|
||||||
|
|||||||
@@ -35,6 +35,7 @@
|
|||||||
};
|
};
|
||||||
private = true;
|
private = true;
|
||||||
auth = true;
|
auth = true;
|
||||||
|
group = "Système";
|
||||||
description = "Serveur DNS & DHCP fourni par AdGuardHome & Unbound.";
|
description = "Serveur DNS & DHCP fourni par AdGuardHome & Unbound.";
|
||||||
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/adguard-home.png";
|
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/adguard-home.png";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ in
|
|||||||
};
|
};
|
||||||
private = true;
|
private = true;
|
||||||
auth = true;
|
auth = true;
|
||||||
|
group = "Outils";
|
||||||
description = "Suivi des finances via Firefly-III.";
|
description = "Suivi des finances via Firefly-III.";
|
||||||
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/firefly-iii.png";
|
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/firefly-iii.png";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
memory = 2048;
|
memory = 2048;
|
||||||
disk = "15G";
|
disk = "15G";
|
||||||
swap = 1024;
|
swap = 1024;
|
||||||
|
onboot = false;
|
||||||
};
|
};
|
||||||
system = {
|
system = {
|
||||||
port = 80;
|
port = 80;
|
||||||
|
|||||||
@@ -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
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -29,6 +29,7 @@ in
|
|||||||
};
|
};
|
||||||
private = true;
|
private = true;
|
||||||
auth = false;
|
auth = false;
|
||||||
|
group = "Médias";
|
||||||
description = "Serveur média avec Jellyfin / jellyseer (?).";
|
description = "Serveur média avec Jellyfin / jellyseer (?).";
|
||||||
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/jellyfin.png";
|
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/jellyfin.png";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
};
|
};
|
||||||
private = true;
|
private = true;
|
||||||
auth = true; # unused anyway
|
auth = true; # unused anyway
|
||||||
|
group = "Système";
|
||||||
description = "Serveur de métriques fourni par Prometheus.";
|
description = "Serveur de métriques fourni par Prometheus.";
|
||||||
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/prometheus.png";
|
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/prometheus.png";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ in
|
|||||||
};
|
};
|
||||||
private = true;
|
private = true;
|
||||||
auth = true;
|
auth = true;
|
||||||
|
group = "Système";
|
||||||
description = "Interface de monitoring via Grafana.";
|
description = "Interface de monitoring via Grafana.";
|
||||||
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/grafana.png";
|
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/grafana.png";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ in
|
|||||||
private = true; # available only on private lan
|
private = true; # available only on private lan
|
||||||
auth = true; # auth overlay
|
auth = true; # auth overlay
|
||||||
description = "Serveur MQTT";
|
description = "Serveur MQTT";
|
||||||
|
group = "Système";
|
||||||
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/mqtt.png";
|
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/mqtt.png";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ in
|
|||||||
};
|
};
|
||||||
private = true;
|
private = true;
|
||||||
auth = true;
|
auth = true;
|
||||||
|
group = "Outils";
|
||||||
|
|
||||||
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/paperless-ngx.png";
|
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/paperless-ngx.png";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
memory = 512;
|
memory = 512;
|
||||||
disk = "5G";
|
disk = "5G";
|
||||||
swap = 512;
|
swap = 512;
|
||||||
|
onboot = false;
|
||||||
};
|
};
|
||||||
system = {
|
system = {
|
||||||
port = 80;
|
port = 80;
|
||||||
@@ -20,6 +21,7 @@
|
|||||||
};
|
};
|
||||||
private = true;
|
private = true;
|
||||||
auth = true;
|
auth = true;
|
||||||
|
group = "Système";
|
||||||
|
|
||||||
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/ups.png";
|
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/ups.png";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
};
|
};
|
||||||
private = true;
|
private = true;
|
||||||
auth = true;
|
auth = true;
|
||||||
|
group = "Système";
|
||||||
|
|
||||||
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/traefik.png";
|
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/traefik.png";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -62,5 +62,6 @@ in
|
|||||||
port = 9696;
|
port = 9696;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
group = "Médias";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
memory = 512;
|
memory = 512;
|
||||||
disk = "6G";
|
disk = "6G";
|
||||||
swap = 512;
|
swap = 512;
|
||||||
|
onboot = false;
|
||||||
};
|
};
|
||||||
system = {
|
system = {
|
||||||
additionalPorts = [ 80 ];
|
additionalPorts = [ 80 ];
|
||||||
@@ -19,6 +20,7 @@
|
|||||||
};
|
};
|
||||||
private = true; # available only on private lan
|
private = true; # available only on private lan
|
||||||
auth = true; # auth overlay
|
auth = true; # auth overlay
|
||||||
|
group = "Système";
|
||||||
icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/zigbee2mqtt-light.png";
|
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}";
|
protocol_provider = "\${resource.authentik_provider_proxy.${containerName}.id}";
|
||||||
meta_description = def.description;
|
meta_description = def.description;
|
||||||
meta_icon = def.icon;
|
meta_icon = def.icon;
|
||||||
|
group = def.group;
|
||||||
}
|
}
|
||||||
) cfg
|
) cfg
|
||||||
)
|
)
|
||||||
@@ -44,42 +45,49 @@ in
|
|||||||
slug = "home_assistant";
|
slug = "home_assistant";
|
||||||
protocol_provider = "\${resource.authentik_provider_oauth2.home_assistant.id}";
|
protocol_provider = "\${resource.authentik_provider_oauth2.home_assistant.id}";
|
||||||
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/home-assistant.png";
|
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/home-assistant.png";
|
||||||
|
group = "Médias";
|
||||||
};
|
};
|
||||||
matrix = {
|
matrix = {
|
||||||
name = "matrix";
|
name = "matrix";
|
||||||
slug = "matrix";
|
slug = "matrix";
|
||||||
protocol_provider = "\${resource.authentik_provider_oauth2.matrix.id}";
|
protocol_provider = "\${resource.authentik_provider_oauth2.matrix.id}";
|
||||||
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/matrix-light.png";
|
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/matrix-light.png";
|
||||||
|
group = "Outils";
|
||||||
};
|
};
|
||||||
vaultwarden = {
|
vaultwarden = {
|
||||||
name = "vaultwarden";
|
name = "vaultwarden";
|
||||||
slug = "vaultwarden";
|
slug = "vaultwarden";
|
||||||
protocol_provider = "\${resource.authentik_provider_oauth2.vaultwarden.id}";
|
protocol_provider = "\${resource.authentik_provider_oauth2.vaultwarden.id}";
|
||||||
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/vaultwarden-light.png";
|
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/vaultwarden-light.png";
|
||||||
|
group = "Outils";
|
||||||
};
|
};
|
||||||
gitea = {
|
gitea = {
|
||||||
name = "gitea";
|
name = "gitea";
|
||||||
slug = "gitea";
|
slug = "gitea";
|
||||||
protocol_provider = "\${resource.authentik_provider_oauth2.gitea.id}";
|
protocol_provider = "\${resource.authentik_provider_oauth2.gitea.id}";
|
||||||
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/gitea.png";
|
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/gitea.png";
|
||||||
|
group = "Outils";
|
||||||
};
|
};
|
||||||
nas = {
|
nas = {
|
||||||
name = "nas";
|
name = "nas";
|
||||||
slug = "nas";
|
slug = "nas";
|
||||||
protocol_provider = "\${resource.authentik_provider_oauth2.nas.id}";
|
protocol_provider = "\${resource.authentik_provider_oauth2.nas.id}";
|
||||||
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/synology-light.png";
|
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/synology-light.png";
|
||||||
|
group = "Médias";
|
||||||
};
|
};
|
||||||
jellyfin = {
|
jellyfin = {
|
||||||
name = "jellyfin";
|
name = "jellyfin";
|
||||||
slug = "jellyfin";
|
slug = "jellyfin";
|
||||||
protocol_provider = "\${resource.authentik_provider_oauth2.jellyfin.id}";
|
protocol_provider = "\${resource.authentik_provider_oauth2.jellyfin.id}";
|
||||||
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/jellyfin.png";
|
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/jellyfin.png";
|
||||||
|
group = "Médias";
|
||||||
};
|
};
|
||||||
proxmox = {
|
proxmox = {
|
||||||
name = "proxmox";
|
name = "proxmox";
|
||||||
slug = "proxmox";
|
slug = "proxmox";
|
||||||
protocol_provider = "\${resource.authentik_provider_oauth2.proxmox.id}";
|
protocol_provider = "\${resource.authentik_provider_oauth2.proxmox.id}";
|
||||||
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/proxmox-light.png";
|
meta_icon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/proxmox-light.png";
|
||||||
|
group = "Système";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ in
|
|||||||
type = "veth";
|
type = "veth";
|
||||||
};
|
};
|
||||||
protection = c.protection;
|
protection = c.protection;
|
||||||
onboot = true;
|
onboot = c.onboot;
|
||||||
rootfs = {
|
rootfs = {
|
||||||
storage = "local-lvm";
|
storage = "local-lvm";
|
||||||
size = c.disk;
|
size = c.disk;
|
||||||
|
|||||||
@@ -65,6 +65,11 @@ in
|
|||||||
description = "Overrides to the Proxmox LXC Terraform resource";
|
description = "Overrides to the Proxmox LXC Terraform resource";
|
||||||
default = { };
|
default = { };
|
||||||
};
|
};
|
||||||
|
onboot = mkOption {
|
||||||
|
type = bool;
|
||||||
|
default = true;
|
||||||
|
description = "Boot at Proxmox's startup";
|
||||||
|
};
|
||||||
protection = mkOption {
|
protection = mkOption {
|
||||||
type = bool;
|
type = bool;
|
||||||
description = "Whether container should be protected against changes.";
|
description = "Whether container should be protected against changes.";
|
||||||
@@ -174,6 +179,11 @@ in
|
|||||||
description = "Possible description for the service";
|
description = "Possible description for the service";
|
||||||
default = null;
|
default = null;
|
||||||
};
|
};
|
||||||
|
group = mkOption {
|
||||||
|
type = nullOr str;
|
||||||
|
description = "Group for the service (on Authentik)";
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
icon = mkOption {
|
icon = mkOption {
|
||||||
type = nullOr str;
|
type = nullOr str;
|
||||||
description = "URL for a logo for the service";
|
description = "URL for a logo for the service";
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
terraform.required_providers = {
|
terraform.required_providers = {
|
||||||
proxmox = {
|
proxmox = {
|
||||||
source = "Telmate/proxmox";
|
source = "Telmate/proxmox";
|
||||||
version = "~> 2.9.11";
|
version = "= 3.0.2-rc07";
|
||||||
};
|
};
|
||||||
|
|
||||||
postgresql = {
|
postgresql = {
|
||||||
|
|||||||
Reference in New Issue
Block a user