From 5fb3d590c664d2307ddfba76ff6a1f11173d4d62 Mon Sep 17 00:00:00 2001 From: Chris Toph Date: Tue, 29 Apr 2025 15:53:21 -0400 Subject: [PATCH] Refactors Komodo host configs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit • Moves Caddy configuration from optional to dedicated host config file • Relocates container configs for authentik and Komodo under new host config path • Updates default host config to import the new structure • Bumps system stateVersion to 25.05 --- .gitignore | 3 +- home/toph/komodo/default.nix | 10 +- hosts/common/optional/caddy/defaut.nix | 10 -- hosts/common/optional/caddy/komodo.nix | 100 ----------------- .../komodo/config}/authentik/compose.yaml | 0 .../komodo/config}/authentik/default.nix | 8 +- hosts/nixos/komodo/config/caddy.nix | 103 ++++++++++++++++++ hosts/nixos/komodo/config/default.nix | 4 + .../komodo/config}/komodo/compose.yaml | 0 .../komodo/config}/komodo/default.nix | 0 hosts/nixos/komodo/default.nix | 11 +- 11 files changed, 120 insertions(+), 129 deletions(-) delete mode 100644 hosts/common/optional/caddy/defaut.nix delete mode 100644 hosts/common/optional/caddy/komodo.nix rename hosts/{common/optional/containers => nixos/komodo/config}/authentik/compose.yaml (100%) rename hosts/{common/optional/containers => nixos/komodo/config}/authentik/default.nix (99%) create mode 100644 hosts/nixos/komodo/config/caddy.nix create mode 100644 hosts/nixos/komodo/config/default.nix rename hosts/{common/optional/containers => nixos/komodo/config}/komodo/compose.yaml (100%) rename hosts/{common/optional/containers => nixos/komodo/config}/komodo/default.nix (100%) diff --git a/.gitignore b/.gitignore index 1dc7489..01abd29 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ - -nixos/modules/nextcloud/nextcloud-admin-pass .BAK/ .chat +.logs *.bak \ No newline at end of file diff --git a/home/toph/komodo/default.nix b/home/toph/komodo/default.nix index a0a3456..f9d3b59 100644 --- a/home/toph/komodo/default.nix +++ b/home/toph/komodo/default.nix @@ -1,24 +1,16 @@ { pkgs, + config, ... }: { imports = [ ## Required Configs ## ../common/core # required - - ## Host-specific Optional Configs ## ]; - # Useful for this host home.file = { Pool.source = config.lib.file.mkOutOfStoreSymlink "/pool"; DockerStorage.source = config.lib.file.mkOutOfStoreSymlink "/mnt/DockerStorage"; }; - - ## Packages with no needed configs ## - # home.packages = builtins.attrValues { - # inherit (pkgs) - # ; - # }; } diff --git a/hosts/common/optional/caddy/defaut.nix b/hosts/common/optional/caddy/defaut.nix deleted file mode 100644 index 3cb38b3..0000000 --- a/hosts/common/optional/caddy/defaut.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ config, ... }: -{ - imports = [ - "./${config.hostSpec.hostName}.nix" - ]; - - services.caddy = { - enable = true; - }; -} diff --git a/hosts/common/optional/caddy/komodo.nix b/hosts/common/optional/caddy/komodo.nix deleted file mode 100644 index 4430016..0000000 --- a/hosts/common/optional/caddy/komodo.nix +++ /dev/null @@ -1,100 +0,0 @@ -{ - services.caddy.virtualHosts = { - # "ryot.foo" = { - # useACMEHost = "ryot.foo"; - # extraConfig = '' - # reverse_proxy 104.40.3.44:80 - # ''; - # }; - - "auth.ryot.foo" = { - useACMEHost = "ryot.foo"; - extraConfig = '' - reverse_proxy localhost:9000 { - header_up Host {host} - header_up X-Forwarded-For {remote} - header_up X-Forwarded-Proto {scheme} - header_up X-Forwarded-Protocol {scheme} - header_up X-Forwarded-Port {server_port} - } - ''; - }; - - "frp.ryot.foo" = { - useACMEHost = "ryot.foo"; - extraConfig = '' - reverse_proxy localhost:4041 - ''; - }; - - "grafana.ryot.foo" = { - useACMEHost = "ryot.foo"; - extraConfig = '' - reverse_proxy localhost:3001 - ''; - }; - - "git.ryot.foo" = { - useACMEHost = "ryot.foo"; - extraConfig = '' - reverse_proxy localhost:3003 - ''; - }; - - "influx.ryot.foo" = { - useACMEHost = "ryot.foo"; - extraConfig = '' - reverse_proxy localhost:8086 - ''; - }; - - "home.ryot.foo" = { - useACMEHost = "ryot.foo"; - extraConfig = '' - reverse_proxy localhost:7475 - ''; - }; - - "komodo.ryot.foo" = { - useACMEHost = "ryot.foo"; - extraConfig = '' - reverse_proxy localhost:9120 - ''; - }; - - "mail.ryot.foo" = { - useACMEHost = "ryot.foo"; - extraConfig = '' - reverse_proxy localhost:9002 - ''; - }; - - "map.ryot.foo" = { - useACMEHost = "ryot.foo"; - extraConfig = '' - reverse_proxy localhost:25566 - ''; - }; - - "outline.ryot.foo" = { - useACMEHost = "ryot.foo"; - extraConfig = '' - reverse_proxy localhost:3480 - ''; - }; - - "plane.ryot.foo" = { - useACMEHost = "ryot.foo"; - extraConfig = '' - reverse_proxy localhost:3000 - ''; - }; - - "upsnap.ryot.foo" = { - useACMEHost = "ryot.foo"; - extraConfig = '' - reverse_proxy localhost:8090 - ''; - }; - }; -} diff --git a/hosts/common/optional/containers/authentik/compose.yaml b/hosts/nixos/komodo/config/authentik/compose.yaml similarity index 100% rename from hosts/common/optional/containers/authentik/compose.yaml rename to hosts/nixos/komodo/config/authentik/compose.yaml diff --git a/hosts/common/optional/containers/authentik/default.nix b/hosts/nixos/komodo/config/authentik/default.nix similarity index 99% rename from hosts/common/optional/containers/authentik/default.nix rename to hosts/nixos/komodo/config/authentik/default.nix index 47ea033..f01ebcb 100644 --- a/hosts/common/optional/containers/authentik/default.nix +++ b/hosts/nixos/komodo/config/authentik/default.nix @@ -1,6 +1,10 @@ # Auto-generated using compose2nix v0.3.1. -{ pkgs, lib, ... }: - +{ + pkgs, + lib, + config, + ... +}: let # Only available in the Komodo LXC DockerStorage = "/mnt/DockerStorage/komodo/stacks/authentik"; diff --git a/hosts/nixos/komodo/config/caddy.nix b/hosts/nixos/komodo/config/caddy.nix new file mode 100644 index 0000000..6e52cd5 --- /dev/null +++ b/hosts/nixos/komodo/config/caddy.nix @@ -0,0 +1,103 @@ +{ + services.caddy = { + enable = true; + virtualHosts = { + # "ryot.foo" = { + # useACMEHost = "ryot.foo"; + # extraConfig = '' + # reverse_proxy 104.40.3.44:80 + # ''; + # }; + + "auth.ryot.foo" = { + useACMEHost = "ryot.foo"; + extraConfig = '' + reverse_proxy localhost:9000 { + header_up Host {host} + header_up X-Forwarded-For {remote} + header_up X-Forwarded-Proto {scheme} + header_up X-Forwarded-Protocol {scheme} + header_up X-Forwarded-Port {server_port} + } + ''; + }; + + "frp.ryot.foo" = { + useACMEHost = "ryot.foo"; + extraConfig = '' + reverse_proxy localhost:4041 + ''; + }; + + "grafana.ryot.foo" = { + useACMEHost = "ryot.foo"; + extraConfig = '' + reverse_proxy localhost:3001 + ''; + }; + + "git.ryot.foo" = { + useACMEHost = "ryot.foo"; + extraConfig = '' + reverse_proxy localhost:3003 + ''; + }; + + "influx.ryot.foo" = { + useACMEHost = "ryot.foo"; + extraConfig = '' + reverse_proxy localhost:8086 + ''; + }; + + "home.ryot.foo" = { + useACMEHost = "ryot.foo"; + extraConfig = '' + reverse_proxy localhost:7475 + ''; + }; + + "komodo.ryot.foo" = { + useACMEHost = "ryot.foo"; + extraConfig = '' + reverse_proxy localhost:9120 + ''; + }; + + "mail.ryot.foo" = { + useACMEHost = "ryot.foo"; + extraConfig = '' + reverse_proxy localhost:9002 + ''; + }; + + "map.ryot.foo" = { + useACMEHost = "ryot.foo"; + extraConfig = '' + reverse_proxy localhost:25566 + ''; + }; + + "outline.ryot.foo" = { + useACMEHost = "ryot.foo"; + extraConfig = '' + reverse_proxy localhost:3480 + ''; + }; + + "plane.ryot.foo" = { + useACMEHost = "ryot.foo"; + extraConfig = '' + reverse_proxy localhost:3000 + ''; + }; + + "upsnap.ryot.foo" = { + useACMEHost = "ryot.foo"; + extraConfig = '' + reverse_proxy localhost:8090 + ''; + }; + }; + }; +} diff --git a/hosts/nixos/komodo/config/default.nix b/hosts/nixos/komodo/config/default.nix new file mode 100644 index 0000000..b23287b --- /dev/null +++ b/hosts/nixos/komodo/config/default.nix @@ -0,0 +1,4 @@ +{ lib, ... }: +{ + imports = lib.custom.scanPaths ./.; +} diff --git a/hosts/common/optional/containers/komodo/compose.yaml b/hosts/nixos/komodo/config/komodo/compose.yaml similarity index 100% rename from hosts/common/optional/containers/komodo/compose.yaml rename to hosts/nixos/komodo/config/komodo/compose.yaml diff --git a/hosts/common/optional/containers/komodo/default.nix b/hosts/nixos/komodo/config/komodo/default.nix similarity index 100% rename from hosts/common/optional/containers/komodo/default.nix rename to hosts/nixos/komodo/config/komodo/default.nix diff --git a/hosts/nixos/komodo/default.nix b/hosts/nixos/komodo/default.nix index 681c9fe..14dc693 100644 --- a/hosts/nixos/komodo/default.nix +++ b/hosts/nixos/komodo/default.nix @@ -6,7 +6,6 @@ ############################################################### { - inputs, lib, config, pkgs, @@ -19,6 +18,9 @@ let in { imports = lib.flatten [ + ## Komodo Only ## + ./config + ## Hardware ## ./hardware.nix @@ -28,12 +30,9 @@ in ## Optional Configs ## "hosts/common/optional/acme" - "hosts/common/optional/caddy" "hosts/common/optional/docker.nix" - "hosts/common/containers/authentik" - "hosts/common/containers/komodo" - ## Komodo Specific ## + ## Host User ## "hosts/users/${username}" # # Not the best solution but I always have one user so ¯\_(ツ)_/¯ ]) ]; @@ -66,5 +65,5 @@ in ]; # https://wiki.nixos.org/wiki/FAQ/When_do_I_update_stateVersion - system.stateVersion = "24.11"; + system.stateVersion = "25.05"; }