snowflake/hosts/yuki/services/homepage/services.nix

366 lines
9.1 KiB
Nix

_: {
services.homepage-dashboard.services = [
{
"Sora" = let
glancesUrl = "http://100.104.42.96:61208";
in [
{
"INF" = {
widget = {
type = "glances";
url = glancesUrl;
metric = "info";
};
};
}
{
"CPU" = {
widget = {
type = "glances";
url = glancesUrl;
metric = "cpu";
};
};
}
{
"RAM" = {
widget = {
type = "glances";
url = glancesUrl;
metric = "memory";
};
};
}
{
"PROC" = {
widget = {
type = "glances";
url = glancesUrl;
metric = "process";
};
};
}
{
"NET" = {
widget = {
type = "glances";
url = glancesUrl;
metric = "network:eth0";
};
};
}
{
"FS" = {
widget = {
type = "glances";
url = glancesUrl;
metric = "fs:/etc/hosts";
};
};
}
];
}
{
"Infra" = [
{
"Proxmox" = {
icon = "proxmox";
href = "https://pve.internal.flake.sh:8006";
widget = {
type = "proxmox";
url = "https://192.168.1.36:8006";
username = "{{HOMEPAGE_VAR_PROXMOX_USER}}";
password = "{{HOMEPAGE_VAR_PROXMOX_PWD}}";
};
};
}
{
"Proxmox Backup Server" = {
icon = "proxmox";
href = "https://pbs.internal.flake.sh:8007";
widget = {
type = "proxmoxbackupserver";
url = "https://192.168.1.38:8007";
username = "{{HOMEPAGE_VAR_PBS_USER}}";
password = "{{HOMEPAGE_VAR_PBS_PWD}}";
};
};
}
{
"TrueNAS" = {
icon = "truenas-scale";
href = "https://truenas.internal.flake.sh";
widget = {
type = "truenas";
url = "https://192.168.1.199";
key = "{{HOMEPAGE_VAR_TRUENAS_KEY}}";
};
};
}
{
"Home Assistant" = {
icon = "home-assistant";
href = "http://hass.internal.flake.sh:8123";
widget = {
type = "homeassistant";
url = "http://192.168.1.98:8123";
key = "{{HOMEPAGE_VAR_HASS_KEY}}";
};
};
}
];
}
{
"Networking" = [
{
"Ubiquiti" = {
icon = "ubiquiti";
href = "https://udm.internal.flake.sh";
widget = {
type = "unifi";
url = "https://192.168.1.1";
username = "api";
password = "{{HOMEPAGE_VAR_UBIQUITI_PWD}}";
};
};
}
{
"Traefik" = {
icon = "traefik";
href = "http://192.168.1.98:8080/dashboard";
widget = {
type = "traefik";
url = "http://192.168.1.98:8080";
};
};
}
{
"Gluetun" = {
icon = "gluetun";
href = "http://192.168.1.54:8000";
widget = {
type = "gluetun";
url = "http://192.168.1.54:8000";
};
};
}
{
"Tailscale" = {
icon = "tailscale";
href = "https://login.tailscale.com/admin/machines";
widget = {
type = "tailscale";
deviceid = "{{HOMEPAGE_VAR_TAILSCALE_DEVICE_ID}}";
key = "{{HOMEPAGE_VAR_TAILSCALE_KEY}}";
};
};
}
{
"Blocky" = {
icon = "blocky";
href = "http://192.168.1.103:4000";
};
}
];
}
{
"Monitoring" = [
{
"Grafana" = {
icon = "grafana";
href = "https://metrics.flake.sh";
widget = {
type = "grafana";
url = "https://metrics.flake.sh";
username = "{{HOMEPAGE_VAR_GRAFANA_USER}}";
password = "{{HOMEPAGE_VAR_GRAFANA_PWD}}";
};
};
}
{
"Prometheus" = {
icon = "prometheus";
widget = {
type = "prometheus";
url = "http://100.104.42.96:9090";
};
};
}
{
"Uptime Kuma" = {
icon = "uptime-kuma";
href = "https://status.flake.sh/dashboard";
widget = {
type = "uptimekuma";
url = "https://status.flake.sh";
slug = "kumo";
};
};
}
{
"ntfy" = {
icon = "ntfy";
href = "https://ntfy.flake.sh";
};
}
];
}
{
"Media" = let
kariruIp = "http://192.168.1.54:";
in [
{
"Jellyfin" = {
icon = "jellyfin";
href = "https://jellyfin.internal.flake.sh/";
widget = {
type = "jellyfin";
url = "http://192.168.1.98:8096";
key = "{{HOMEPAGE_VAR_JELLYFIN_KEY}}";
enableBlocks = true;
enableNowPlaying = false;
};
};
}
{
"Jellyseerr" = {
icon = "jellyseerr";
href = "https://jellyseerr.internal.flake.sh";
widget = {
type = "jellyseerr";
url = "http://192.168.1.98:5055";
key = "{{HOMEPAGE_VAR_JELLYSEERR_KEY}}";
};
};
}
{
"Sonarr" = {
icon = "sonarr";
href = "https://sonarr.internal.flake.sh";
widget = {
type = "sonarr";
url = "${kariruIp}8989";
key = "{{HOMEPAGE_VAR_SONARR_KEY}}";
};
};
}
{
"Radarr" = {
icon = "radarr";
href = "https://radarr.internal.flake.sh";
widget = {
type = "radarr";
url = "${kariruIp}7878";
key = "{{HOMEPAGE_VAR_RADARR_KEY}}";
};
};
}
{
"Prowlarr" = {
icon = "prowlarr";
href = "https://prowlarr.internal.flake.sh";
widget = {
type = "prowlarr";
url = "${kariruIp}9696";
key = "{{HOMEPAGE_VAR_PROWLARR_KEY}}";
};
};
}
{
"qBittorrent" = {
icon = "qbittorrent";
href = "http://192.168.1.54:8080";
widget = {
type = "qbittorrent";
url = "http://192.168.1.54:8080";
username = "notoh";
password = "{{HOMEPAGE_VAR_QBIT_PWD}}";
};
};
}
{
"Stash" = {
icon = "stash";
href = "https://stash.internal.flake.sh";
widget = {
type = "stash";
url = "https://stash.internal.flake.sh";
key = "{{HOMEPAGE_VAR_STASH_KEY}}";
fields = ["scenes" "sceneSize" "performers"];
};
};
}
{
"Immich" = {
icon = "immich";
href = "https://immich.internal.flake.sh";
widget = {
type = "immich";
url = "https://immich.internal.flake.sh";
key = "{{HOMEPAGE_VAR_IMMICH_KEY}}";
version = 2;
};
};
}
{
"Whisparr" = {
icon = "whisparr";
href = "http://whisparr.internal.flake.sh/";
};
}
{
"Servarr" = {
icon = "servarr";
href = "https://wiki.servarr.com/";
};
}
];
}
{
"Misc" = [
{
"Forgejo" = {
icon = "forgejo";
href = "https://git.flake.sh/explore/repos";
};
}
{
"Hetzner" = {
icon = "hetzner";
href = "https://accounts.hetzner.com/login";
};
}
{
"Cloudflare" = {
icon = "cloudflare";
href = "https://dash.cloudflare.com";
};
}
{
"Tailscale" = {
icon = "tailscale";
href = "https://login.tailscale.com/admin/machines";
};
}
{
"Hoarder" = {
icon = "hoarder";
href = "https://hoarder.internal.flake.sh";
};
}
{
"Wallos" = {
icon = null;
href = "https://wallos.internal.flake.sh";
};
}
{
"Ganymede" = {
icon = null;
href = "https://ganymede.internal.flake.sh";
};
}
];
}
];
}