From 590b3e0fea0808fe6188c4ce0bf6fd279ecc574f Mon Sep 17 00:00:00 2001 From: Satria Date: Fri, 6 Mar 2026 21:06:05 +0700 Subject: [PATCH 1/3] add shellc conf to server --- flake.nix | 2 +- hosts/homelab/home.nix | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 hosts/homelab/home.nix diff --git a/flake.nix b/flake.nix index bf79a3e..692ca4d 100644 --- a/flake.nix +++ b/flake.nix @@ -65,7 +65,7 @@ in { nixosConfigurations = { thinkpad = nixosConfigWithHome "thinkpad"; - homelab = nixosConfig "homelab"; + homelab = nixosConfigWithHome "homelab"; bootstrap = nixosConfig "bootstrap"; }; homeConfigurations = { diff --git a/hosts/homelab/home.nix b/hosts/homelab/home.nix new file mode 100644 index 0000000..19833aa --- /dev/null +++ b/hosts/homelab/home.nix @@ -0,0 +1,5 @@ +{ ... }: { + imports = [ + ../../modules/home + ]; +} \ No newline at end of file From 9a8557c39a0cce7e58419047cd3efad1e3522b7c Mon Sep 17 00:00:00 2001 From: Satria Date: Fri, 6 Mar 2026 21:06:47 +0700 Subject: [PATCH 2/3] use omv for shares --- modules/hardware/misc/disks.nix | 6 +++--- modules/system/homelab/proxy.nix | 1 - modules/system/server.nix | 3 ++- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/hardware/misc/disks.nix b/modules/hardware/misc/disks.nix index 4bdff01..2081427 100644 --- a/modules/hardware/misc/disks.nix +++ b/modules/hardware/misc/disks.nix @@ -6,9 +6,9 @@ }; in { fileSystems = { - "/mnt/share" = globalOpts // { - device = homelab.disks.share; - }; + # "/mnt/share" = globalOpts // { + # device = homelab.disks.share; + # }; "/mnt/data" = globalOpts // { device = homelab.disks.data; }; diff --git a/modules/system/homelab/proxy.nix b/modules/system/homelab/proxy.nix index 909887d..60c16cc 100644 --- a/modules/system/homelab/proxy.nix +++ b/modules/system/homelab/proxy.nix @@ -7,7 +7,6 @@ "containers" = { dest = "http://localhost:5001"; auth = false; }; "remote" = { dest = "http://localhost:8085"; auth = false; }; "pass" = { dest = "http://localhost:8060"; auth = false; }; - "cdn" = { dest = "http://localhost:3000"; auth = false; }; "gallery" = { dest = "http://localhost:2283"; auth = false; }; "media" = { dest = "http://localhost:8096"; auth = false; }; diff --git a/modules/system/server.nix b/modules/system/server.nix index a058067..6ab20b8 100644 --- a/modules/system/server.nix +++ b/modules/system/server.nix @@ -6,12 +6,13 @@ ]; in { imports = [ + # ./homelab/share.nix # gonna use omv for now + ./homelab/containers.nix ./homelab/gallery.nix ./homelab/tunnels.nix ./homelab/remote.nix ./homelab/media.nix - ./homelab/share.nix ./homelab/proxy.nix ./homelab/auth.nix ./homelab/pass.nix From 6cdc944451bb834a59065a39b051c28a5b7b0c8c Mon Sep 17 00:00:00 2001 From: Satria Date: Fri, 6 Mar 2026 21:07:52 +0700 Subject: [PATCH 3/3] add proxy for some apps --- modules/system/homelab/dash.nix | 21 ++++++++++++++++++++- modules/system/homelab/proxy.nix | 6 ++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/modules/system/homelab/dash.nix b/modules/system/homelab/dash.nix index ca9b62a..ad2a762 100644 --- a/modules/system/homelab/dash.nix +++ b/modules/system/homelab/dash.nix @@ -52,11 +52,17 @@ [ "CDN" "http://localhost:3000/" ] [ "Proxy" "https://proxy.${homelab.domain}/" ] ]; + external = [ + [ "Proxmox" "proxmox" "https://server.proxy.${homelab.domain}" "http://server.dns.${homelab.domain}:8006/" ] + [ "OpenWRT" "openwrt" "https://router.proxy.${homelab.domain}" "http://router.dns.${homelab.domain}:80/" ] + [ "HomeAssistant" "homeassistant" "https://home.proxy.${homelab.domain}" "http://home.dns.${homelab.domain}:8123/" ] + [ "OpenMediaVault" "openmediavault" "https://nas.proxy.${homelab.domain}" "http://nas.dns.${homelab.domain}:80/" ] + [ "ApacheHTTPD" "apache" "https://cdn.proxy.${homelab.domain}" "http://nas.dns.${homelab.domain}:3000/" ] + ]; services = [ [ "PocketID" "authentik" "https://auth.${homelab.domain}" "http://localhost:1411/" ] [ "Forgejo" "forgejo" "https://git.${homelab.domain}" "http://localhost:5080/" ] [ "AdGuardHome" "adguard" "https://dns.proxy.${homelab.domain}" "http://localhost:8088/" ] - [ "ApacheHTTPD" "apache" "https://cdn.proxy.${homelab.domain}" "http://localhost:3000/" ] [ "Immich" "immich" "https://gallery.proxy.${homelab.domain}" "http://localhost:2283/" ] [ "Jellyfin" "jellyfin" "https://media.proxy.${homelab.domain}" "http://localhost:8096/" ] [ "VaultWarden" "vaultwarden" "https://pass.proxy.${homelab.domain}" "http://localhost:8060/" ] @@ -258,6 +264,19 @@ in { type = "server-stats"; servers = [{ type = "local"; }]; } + { + type = "monitor"; + cache = "1m"; + title = "External"; + sites = map (e: { + same-tab = true; + allow-insecure = true; + title = builtins.elemAt e 0; + icon = "si:${builtins.elemAt e 1}"; + url = builtins.elemAt e 2; + check-url = builtins.elemAt e 3; + }) external; + } { type = "monitor"; cache = "1m"; diff --git a/modules/system/homelab/proxy.nix b/modules/system/homelab/proxy.nix index 60c16cc..2496bfd 100644 --- a/modules/system/homelab/proxy.nix +++ b/modules/system/homelab/proxy.nix @@ -1,6 +1,12 @@ { homelab, lib, ... }: let base = "proxy.${homelab.domain}"; hosts = { + "server" = { dest = "http://server.dns.${homelab.domain}:8006"; auth = false; }; + "router" = { dest = "http://router.dns.${homelab.domain}:80"; auth = false; }; + "home" = { dest = "http://home.dns.${homelab.domain}:8123"; auth = false; }; + "nas" = { dest = "http://nas.dns.${homelab.domain}:80"; auth = false; }; + "cdn" = { dest = "http://nas.dns.${homelab.domain}:3000"; auth = false; }; + "dns" = { dest = "http://localhost:8088"; auth = true; }; "ai" = { dest = "http://localhost:8080"; auth = true; };