Update modules/server/containers/apps/homepage.nix

This commit is contained in:
2026-06-09 15:19:08 +02:00
parent 93d7a9d08e
commit 37ffd00d0b

View File

@@ -25,9 +25,11 @@ let
background = {
image = "/media/${backgroundFileName}";
brightness = 50;
opacity = 0.5;
blur = "";
};
cardBlur = "md";
# favicon = config.syscfg.media.logo.ico;
cardBlur = "xs";
favicon = "https://${containerCfg.subdomain}.${serverCfg.domain}/favicon.ico";
theme = "dark";
color = "slate";
fullWidth = true;
@@ -35,10 +37,12 @@ let
pwa = { };
layout = {
Admin = {
initiallyCollapsed = true;
style = "row";
columns = 4;
};
};
bookmarksStyle = "icons"
providers = {
finnhub = "{{HOMEPAGE_VAR_FINNHUB}}";
};
@@ -86,6 +90,7 @@ let
Jellyfin = {
icon = "jellyfin.png";
href = "https://${serverCfg.containers.jellyfin.subdomain}.${serverCfg.domain}";
siteMonitor = "http://jellyfin-server:8096";
widget = {
type = "jellyfin";
url = "http://jellyfin-server:8096";
@@ -97,24 +102,41 @@ let
Invidious = {
icon = "invidious.png";
href = "https://${serverCfg.containers.invidious.subdomain}.${serverCfg.domain}";
siteMonitor = "http://invidious-server:3000";
};
})
(lib.optional (serverCfg.containers ? calibre) {
Calibre = {
icon = "calibre.png";
href = "https://${serverCfg.containers.calibre.subdomain}.${serverCfg.domain}";
siteMonitor = "http://calibre-server:8080";
# widget = {
# type = "calibreweb";
# url = "http://calibre-server:8080";
# username = "?";
# password = "?";
# };
};
})
(lib.optional (serverCfg.containers ? freshrss) {
FreshRSS = {
icon = "freshrss.png";
href = "https://${serverCfg.containers.freshrss.subdomain}.${serverCfg.domain}";
siteMonitor = "http://freshrss-server:8080";
# widget = {
# type = "freshrss";
# url = "http://freshrss-server:8080";
# username = "?";
# password = "?";
# };
};
};
})
(lib.optional (serverCfg.containers ? miniflux) {
Miniflux = {
icon = "miniflux.png";
href = "https://${serverCfg.containers.miniflux.subdomain}.${serverCfg.domain}";
siteMonitor = "http://miniflux-server:80";
widget = {
type = "miniflux";
url = "http://miniflux-server";
@@ -126,6 +148,11 @@ let
Suwayomi = {
icon = "suwayomi.png";
href = "https://${serverCfg.containers.suwayomi.subdomain}.${serverCfg.domain}";
siteMonitor = "http://suwayomi-server:8080";
widget = {
type = "suwayomi";
url = "http://suwayomi-server:8080";
};
};
})
];
@@ -135,6 +162,7 @@ let
Nextcloud = {
icon = "nextcloud.png";
href = "https://${serverCfg.containers.nextcloud.subdomain}.${serverCfg.domain}";
siteMonitor = "http://nextcloud-server:80";
widget = {
type = "nextcloud";
url = "http://nextcloud-server:80";
@@ -146,24 +174,28 @@ let
Ethercalc = {
icon = "ethercalc.png";
href = "https://${serverCfg.containers.ethercalc.subdomain}.${serverCfg.domain}";
siteMonitor = "http://ethercalc-server:8080";
};
})
(lib.optional (serverCfg.containers ? etherpad) {
Etherpad = {
icon = "etherpad.png";
href = "https://${serverCfg.containers.etherpad.subdomain}.${serverCfg.domain}";
siteMonitor = "http://etherpad-server:8080";
};
})
(lib.optional (serverCfg.containers ? collabora && false) {
Collabora = {
icon = "microsoft-office.png";
href = "https://${serverCfg.containers.collabora.subdomain}.${serverCfg.domain}";
siteMonitor = "http://collabora-server:9980";
};
})
(lib.optional (serverCfg.containers ? immich) {
Immich = {
icon = "immich.png";
href = "https://${serverCfg.containers.immich.subdomain}.${serverCfg.domain}";
siteMonitor = "http://immich-server:80";
widget = {
type = "immich";
url = "http://immich-server:80";
@@ -179,18 +211,21 @@ let
"Home Assistant" = {
icon = "home-assistant.png";
href = "https://${serverCfg.containers.homeassistant.subdomain}.${serverCfg.domain}";
siteMonitor = "http://${builder.hostIp}:8123";
};
})
(lib.optional (serverCfg.containers ? openhab) {
openHAB = {
icon = "openhab.png";
href = "https://${serverCfg.containers.openhab.subdomain}.${serverCfg.domain}";
siteMonitor = "http://openhab-server:8080";
};
})
(lib.optional (serverCfg.containers ? frigate) {
Frigate = {
icon = "frigate.png";
href = "https://${serverCfg.containers.frigate.subdomain}.${serverCfg.domain}";
siteMonitor = "http://frigate-server:5000";
};
})
];
@@ -200,12 +235,19 @@ let
Gitea = {
icon = "gitea.png";
href = "https://${serverCfg.containers.gitea.subdomain}.${serverCfg.domain}";
siteMonitor = "http://gitea-server:3000";
widget = {
type = "gitea";
url = "http://gitea-server:3000";
key = "{{HOMEPAGE_VAR_GITEA_API}}";
};
};
})
(lib.optional (serverCfg.containers ? trmnl) {
TRMNL = {
icon = "terminal.png";
href = "https://${serverCfg.containers.trmnl.subdomain}.${serverCfg.domain}";
siteMonitor = "http://trmnl-server:8080";
};
})
];
@@ -215,6 +257,7 @@ let
Traefik = {
icon = "traefik.png";
href = "https://${serverCfg.containers.traefik.subdomain}.${serverCfg.domain}";
siteMonitor = "http://traefik-server:8080";
widget = {
type = "traefik";
url = "http://traefik-server:8080";
@@ -225,6 +268,7 @@ let
Authentik = {
icon = "authentik.png";
href = "https://${serverCfg.containers.authentik.subdomain}.${serverCfg.domain}";
siteMonitor = "http://authentik-server:9000";
widget = {
type = "authentik";
url = "http://authentik-server:9000";
@@ -237,24 +281,28 @@ let
Umami = {
icon = "umami.png";
href = "https://${serverCfg.containers.umami.subdomain}.${serverCfg.domain}";
siteMonitor = "http://umami-server:3000";
};
})
(lib.optional (serverCfg.containers ? influx) {
Influx = {
icon = "grafana.png";
href = "https://${serverCfg.containers.influx.subdomain}.${serverCfg.domain}";
siteMonitor = "http://influx-ui:3000";
};
})
(lib.optional (serverCfg.containers ? handbrake) {
Handbrake = {
icon = "handbrake.png";
href = "https://${serverCfg.containers.handbrake.subdomain}.${serverCfg.domain}";
siteMonitor = "http://handbrake-server:5800";
};
})
(lib.optional (serverCfg.containers ? transmission) {
Transmission = {
icon = "transmission.png";
href = "https://${serverCfg.containers.transmission.subdomain}.${serverCfg.domain}/transmission";
siteMonitor = "http://transmission-server:9091";
widget = {
type = "transmission";
url = "http://transmission-server:9091";
@@ -266,6 +314,7 @@ let
Selfmark = {
icon = "link.png";
href = "https://${serverCfg.containers.selfmark.subdomain}.${serverCfg.domain}";
siteMonitor = "http://selfmark-server:8080";
};
})
(lib.optional (serverCfg.containers ? servarr) (
@@ -276,6 +325,7 @@ let
Sonarr = {
icon = "sonarr.png";
href = "https://${serverCfg.containers.servarr.subdomain}.${serverCfg.domain}/sonarr";
siteMonitor = "http://servarr-sonarr:8989";
widget = {
type = "sonarr";
url = "http://servarr-sonarr:8989";
@@ -287,6 +337,7 @@ let
Radarr = {
icon = "radarr.png";
href = "https://${serverCfg.containers.servarr.subdomain}.${serverCfg.domain}/radarr";
siteMonitor = "http://servarr-radarr:8989";
widget = {
type = "radarr";
url = "http://servarr-radarr:8989";
@@ -298,6 +349,7 @@ let
Lidarr = {
icon = "lidarr.png";
href = "https://${serverCfg.containers.servarr.subdomain}.${serverCfg.domain}/lidarr";
siteMonitor = "http://servarr-lidarr:8989";
widget = {
type = "lidarr";
url = "http://servarr-lidarr:8989";
@@ -309,6 +361,7 @@ let
Prowlarr = {
icon = "prowlarr.png";
href = "https://${serverCfg.containers.servarr.subdomain}.${serverCfg.domain}/prowlarr";
siteMonitor = "http://servarr-prowlarr:8989";
widget = {
type = "prowlarr";
url = "http://servarr-prowlarr:8989";