diff --git a/modules/server/containers/apps/homepage.nix b/modules/server/containers/apps/homepage.nix index ac2671a..dd425e7 100644 --- a/modules/server/containers/apps/homepage.nix +++ b/modules/server/containers/apps/homepage.nix @@ -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";