From 7c41f504338f74bb98e9469e08853fba5dd6b4c7 Mon Sep 17 00:00:00 2001
From: notohh <github@notohh.dev>
Date: Thu, 13 Mar 2025 03:44:29 -0400
Subject: [PATCH] yuki: update homepage && traefik

---
 hosts/yuki/services/homepage/services.nix | 45 ++++++++++++++++-------
 hosts/yuki/services/traefik.nix           | 40 ++++----------------
 hosts/yuki/services/wallos.nix            |  2 +-
 3 files changed, 40 insertions(+), 47 deletions(-)

diff --git a/hosts/yuki/services/homepage/services.nix b/hosts/yuki/services/homepage/services.nix
index e02a17f..39f3161 100644
--- a/hosts/yuki/services/homepage/services.nix
+++ b/hosts/yuki/services/homepage/services.nix
@@ -144,6 +144,17 @@ _: {
             };
           };
         }
+        {
+          "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";
@@ -158,11 +169,21 @@ _: {
           "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";
+            };
           };
         }
         {
@@ -258,24 +279,26 @@ _: {
           };
         }
         {
-          "SABnzbd" = {
-            icon = "sabnzbd";
-            href = "http://192.168.1.54:9292/sabnzbd/";
+          "Stash" = {
+            icon = "stash";
+            href = "https://stash.internal.flake.sh";
             widget = {
-              type = "sabnzbd";
-              url = "http://192.168.1.54:9292";
-              key = "{{HOMEPAGE_VAR_SABNZBD_KEY}}";
+              type = "stash";
+              url = "https://stash.internal.flake.sh";
+              key = "{{HOMEPAGE_VAR_STASH_KEY}}";
+              fields = ["scenes" "sceneSize" "performers"];
             };
           };
         }
         {
-          "immich" = {
+          "Immich" = {
             icon = "immich";
             href = "https://immich.internal.flake.sh";
             widget = {
               type = "immich";
-              url = "http://192.168.1.98:2283";
+              url = "https://immich.internal.flake.sh";
               key = "{{HOMEPAGE_VAR_IMMICH_KEY}}";
+              version = 2;
             };
           };
         }
@@ -307,12 +330,6 @@ _: {
             href = "https://accounts.hetzner.com/login";
           };
         }
-        {
-          "Stash" = {
-            icon = "stash";
-            href = "https://stash.internal.flake.sh";
-          };
-        }
         {
           "Cloudflare" = {
             icon = "cloudflare";
diff --git a/hosts/yuki/services/traefik.nix b/hosts/yuki/services/traefik.nix
index 6147c63..fd0eced 100644
--- a/hosts/yuki/services/traefik.nix
+++ b/hosts/yuki/services/traefik.nix
@@ -93,34 +93,6 @@
             tls.domains = [{main = "*.${fqdn}";}];
             tls.certresolver = "production";
           };
-          readarr = {
-            rule = "Host(`readarr.${fqdn}`)";
-            entryPoints = ["websecure"];
-            service = "readarr";
-            tls.domains = [{main = "*.${fqdn}";}];
-            tls.certresolver = "production";
-          };
-          lidarr = {
-            rule = "Host(`lidarr.${fqdn}`)";
-            entryPoints = ["websecure"];
-            service = "lidarr";
-            tls.domains = [{main = "*.${fqdn}";}];
-            tls.certresolver = "production";
-          };
-          bazarr = {
-            rule = "Host(`bazarr.${fqdn}`)";
-            entryPoints = ["websecure"];
-            service = "bazarr";
-            tls.domains = [{main = "*.${fqdn}";}];
-            tls.certresolver = "production";
-          };
-          whisparr = {
-            rule = "Host(`whisparr.${fqdn}`)";
-            entryPoints = ["websecure"];
-            service = "whisparr";
-            tls.domains = [{main = "*.${fqdn}";}];
-            tls.certresolver = "production";
-          };
           prowlarr = {
             rule = "Host(`prowlarr.${fqdn}`)";
             entrypoints = ["websecure"];
@@ -149,6 +121,13 @@
             tls.domains = [{main = "*.${fqdn}";}];
             tls.certresolver = "production";
           };
+          shoko = {
+            rule = "Host(`shoko.${fqdn}`)";
+            entrypoints = ["websecure"];
+            service = "shoko";
+            tls.domains = [{main = "*.${fqdn}";}];
+            tls.certresolver = "production";
+          };
         };
         services = let
           kariruHost = "192.168.1.54:";
@@ -167,11 +146,8 @@
           # kariru
           sonarr.loadBalancer.servers = [{url = "http://${kariruHost}8989";}];
           radarr.loadBalancer.servers = [{url = "http://${kariruHost}7878";}];
-          readarr.loadBalancer.servers = [{url = "http://${kariruHost}8787";}];
-          lidarr.loadBalancer.servers = [{url = "http://${kariruHost}8686";}];
-          bazarr.loadBalancer.servers = [{url = "http://${kariruHost}6767";}];
-          whisparr.loadBalancer.servers = [{url = "http://${kariruHost}6969";}];
           prowlarr.loadBalancer.servers = [{url = "http://${kariruHost}9696";}];
+          shoko.loadBalancer.servers = [{url = "http://${kariruHost}8111";}];
           # sakura
           ganymede.loadBalancer.servers = [{url = "http://100.121.201.47:4000";}];
         };
diff --git a/hosts/yuki/services/wallos.nix b/hosts/yuki/services/wallos.nix
index 0f19aa5..fcdc8eb 100644
--- a/hosts/yuki/services/wallos.nix
+++ b/hosts/yuki/services/wallos.nix
@@ -1,6 +1,6 @@
 _: {
   virtualisation.oci-containers.containers.wallos = {
-    image = "bellamy/wallos@sha256:9ce55520e7bd3a5518a33f22590b2631b76559faadf1df68e1de4103dc6d60d7"; #v 2.46.0
+    image = "bellamy/wallos@sha256:34d1a92083bc4da561607d2b83bf58565754efed714bfe28196b6c3c9ba84031"; #v2.46.1
     ports = ["8282:80"];
     volumes = [
       "/home/notoh/docker/wallos/db:/var/www/html/db"