diff --git a/modules/services/caddy.nix b/modules/services/caddy.nix index d52baa6..86a5d9d 100644 --- a/modules/services/caddy.nix +++ b/modules/services/caddy.nix @@ -66,6 +66,16 @@ ''; }; + "home.nicknase27.com" = { + extraConfig = '' + reverse_proxy localhost:8082 + ''; + }; + "torrent.nicknase27.com" = { + extraConfig = '' + reverse_proxy localhost:9091 + ''; + }; "storage.nicknase27.com" = { extraConfig = '' reverse_proxy 10.0.0.5:80 diff --git a/modules/services/default.nix b/modules/services/default.nix index 44bd10d..6e7c02e 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -7,6 +7,7 @@ ./transmission.nix ./vaultwarden.nix ./navidrome.nix + ./homepage.nix ./caddy.nix ./unifi.nix ./gitea.nix diff --git a/modules/services/homepage.nix b/modules/services/homepage.nix new file mode 100644 index 0000000..b30c508 --- /dev/null +++ b/modules/services/homepage.nix @@ -0,0 +1,105 @@ +{...}: { + services.homepage-dashboard = { + enable = true; + openFirewall = true; + allowedHosts = "10.0.0.10:8082,home.nicknase27.com"; + widgets = [ + { + resources = { + units = "metric"; + cputemp = true; + network = true; + memory = true; + uptime = true; + cpu = true; + disk = "/"; + }; + } + ]; + services = [ + { + "Media" = [ + { + "Navidrome" = { + icon = "navidrome.svg"; + href = "https://music.nicknase27.com"; + }; + } + { + "Jellyfin" = { + icon = "jellyfin.svg"; + href = "https://watch.nicknase27.com"; + }; + } + { + "Immich" = { + icon = "immich.svg"; + href = "https://photos.nicknase27.com"; + }; + } + { + "TrueNAS" = { + icon = "truenas.svg"; + href = "https://storage.nicknase27.com"; + }; + } + { + "transmission" = { + icon = "transmission.svg"; + href = "http://10.0.0.10:9091"; + }; + } + ]; + } + { + "Security" = [ + { + "Caddy" = { + icon = "caddy.svg"; + }; + } + { + "Vaultwarden" = { + icon = "vaultwarden.svg"; + href = "https://vault.nicknase27.com"; + }; + } + { + "Unifi" = { + icon = "unifi.svg"; + href = "https://10.0.0.10:11443"; + }; + } + ]; + } + { + "Public" = [ + { + "Navidrome" = { + icon = "navidrome.svg"; + href = "https://nv.nicknase27.com"; + }; + } + { + "Jellyfin" = { + icon = "jellyfin.svg"; + href = "https://jf.nicknase27.com"; + }; + } + { + "Vaultwarden" = { + icon = "vaultwarden.svg"; + href = "https://vt.nicknase27.com"; + }; + } + { + "Gitea" = { + icon = "gitea.svg"; + href = "https://git.nicknase27.com"; + }; + } + ]; + } + ]; + }; +} diff --git a/modules/system/users.nix b/modules/system/users.nix index dea2df5..c57d0df 100644 --- a/modules/system/users.nix +++ b/modules/system/users.nix @@ -12,6 +12,8 @@ dysk tmux btop + fzf + ripgrep ]; }; }