diff options
| author | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2026-08-22 12:42:46 -0500 |
|---|---|---|
| committer | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2026-08-22 12:42:46 -0500 |
| commit | bc81e75bead05fdf2cb6aaf3fec6e933ce8feb1a (patch) | |
| tree | a572e2bfddca3c1b81fe15fdf3ee6cc045f67e1e /hosts | |
| parent | 967ec14cba166079d71d67f4137ee62fca315d62 (diff) | |
everything is working now
Diffstat (limited to 'hosts')
| -rw-r--r-- | hosts/ganymede/caddy.nix | 69 | ||||
| -rw-r--r-- | hosts/ganymede/config.nix | 23 | ||||
| -rw-r--r-- | hosts/ganymede/nixos.nix | 12 | ||||
| -rw-r--r-- | hosts/ganymede/secrets/caddy-root-ca.key.age | 17 | ||||
| -rw-r--r-- | hosts/mercury/nixos.nix | 20 |
5 files changed, 94 insertions, 47 deletions
diff --git a/hosts/ganymede/caddy.nix b/hosts/ganymede/caddy.nix index 06ca720..961b3b2 100644 --- a/hosts/ganymede/caddy.nix +++ b/hosts/ganymede/caddy.nix @@ -1,8 +1,12 @@ { pkgs, lib, + hosts, + config, ... }: { + users.users."caddy".extraGroups = ["fileserver"]; + services.caddy = { package = lib.mkForce (pkgs.caddy.withPlugins { plugins = [ @@ -17,30 +21,63 @@ api_key {env.PORKBUN_API_KEY} api_secret_key {env.PORKBUN_API_SECRET_KEY} } + + pki { + ca local { + name "Ganymede Home CA" + + root { + format pem_file + cert ${pkgs.writeText "caddy-root-ca.crt" hosts.ganymede.caddy-root-ca} + key ${config.collinux.secrets.caddy-root-ca-key.path} + } + } + } ''; virtualHosts = { - "lindsey.williamsfam.us.com".extraConfig = '' - redir https://williams-ryan-lindsey.blogspot.com permanent - ''; + "jta.williamsfam.us.com" = { + logFormat = lib.mkForce '' + output file /var/log/caddy/access-williamsfam.us.com.log + ''; + extraConfig = '' + root * /media/public/www/jta - "daniel.williamsfam.us.com".extraConfig = '' - root * /media/public/www/daniel - file_server - ''; + @hidden path */.* + respond @hidden "Not Found" 404 - "williamsfam.us.com".extraConfig = '' - root * /media/public/www/root - file_server - ''; + file_server + ''; + }; + "lindsey.williamsfam.us.com" = { + logFormat = lib.mkForce '' + output file /var/log/caddy/access-williamsfam.us.com.log + ''; + extraConfig = '' + redir https://williams-ryan-lindsey.blogspot.com permanent + ''; + }; + "daniel.williamsfam.us.com" = { + logFormat = lib.mkForce '' + output file /var/log/caddy/access-williamsfam.us.com.log + ''; + extraConfig = '' + root * /media/public/www/daniel + file_server + ''; + }; + "williamsfam.us.com" = { + logFormat = lib.mkForce '' + output file /var/log/caddy/access-williamsfam.us.com.log + ''; + extraConfig = '' + root * /media/public/www/root + file_server + ''; + }; }; }; - # merge logs from subdomains - services.caddy.virtualHosts."jta.williamsfam.us.com".logFormat = lib.mkForce '' - output file /var/log/caddy/access-williamsfam.us.com.log - ''; - collinux.services.glance.homelabServices."website" = { url = "https://williamsfam.us.com"; icon = "mdi:web"; diff --git a/hosts/ganymede/config.nix b/hosts/ganymede/config.nix index 8964666..f1804e9 100644 --- a/hosts/ganymede/config.nix +++ b/hosts/ganymede/config.nix @@ -9,6 +9,10 @@ }; "caddy-env".file = ./secrets/caddy-env.age; + "caddy-root-ca-key" = { + file = ./secrets/caddy-root-ca.key.age; + owner = "caddy"; + }; "wireguard-privkey" = { file = ./secrets/wg-privkey.age; @@ -33,31 +37,18 @@ minecraft.enable = true; # :19132 ngircd.enable = true; # :6667 - jta = { - enable = true; - port = 8072; - }; - goaccess = { - enable = true; - port = 7890; - }; - btopweb = { - enable = true; - port = 8017; - }; + goaccess.enable = true; + btopweb.enable = true; qbittorrent = { enable = true; port = 8076; }; cgit.enable = true; + filebrowser.enable = true; glance = { enable = true; port = 8081; }; - filebrowser = { - enable = true; - port = 8082; - }; caddy = { enable = true; diff --git a/hosts/ganymede/nixos.nix b/hosts/ganymede/nixos.nix index 314b72a..bbed85c 100644 --- a/hosts/ganymede/nixos.nix +++ b/hosts/ganymede/nixos.nix @@ -1,4 +1,8 @@ -{inputs, ...}: { +{ + inputs, + hosts, + ... +}: { imports = [ inputs.disko.nixosModules.disko inputs.nixos-facter-modules.nixosModules.facter @@ -9,7 +13,13 @@ ./wireguard.nix ]; + security.pki.certificates = [ + hosts.ganymede.caddy-root-ca + ]; + facter.reportPath = ./facter.json; + users.users."collin".extraGroups = ["fileserver"]; + services.fail2ban.enable = true; } diff --git a/hosts/ganymede/secrets/caddy-root-ca.key.age b/hosts/ganymede/secrets/caddy-root-ca.key.age new file mode 100644 index 0000000..0de6b0a --- /dev/null +++ b/hosts/ganymede/secrets/caddy-root-ca.key.age @@ -0,0 +1,17 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IGF6QmlsZyBsT0lQ +disvMDdLU1F6aEI4MFltME84cSsweHcwNG90MTJlbGdnSHlMOFFrCjAxM1VJeXVH +WUdrc052blNxRWQ2Z3N1VUlJYllERjR1SVhGQjlPenhuZ0kKLT4gc3NoLWVkMjU1 +MTkgWkVyTFRnIDhxUTJrYWkrcWdjSk4wRzE4NHNrSytVTEZYdC9jc3VlWU1OamFP +UXJMQjQKR2NacHlxV3pOV2hKY3EvbTFCNEVBZ1VyTDJpUUlROUJoZHVuN3h0UUhj +NAotPiBVeS1ncmVhc2UgZyh7T2JZOyUgdUdVCjcyckRMVVhVU2hyUHpKWEYvekJo +M3c3aWN4WUtKcnQvREllUlpVTTk1UGpOUCtLT1Q0bWdDa0NKUWxBSDAyUjcKbUNN +OVY0cTJNQU81eG5ZR3cvNW96MmRCMTlJaDFPUEF2SHNxN2hZCi0tLSBSQ1k5QWN3 +TytEOHZkSkdFd3JXb3ZIYXEvVXVFRXNoN0RmOTkwNWQ2bmNFCvPEuEjBR6lEvAPW +yCqkobzKfnaNhFMP4bvG39yx79V9gi0pE2viz1DuSTkMPiM0xMBtMo2PlAPbE4kt +eYB28dCmU3t6+L/xF0XxZfbTJb8lkH5d4lTd42ysEhH2Z4vOREkcwE8vYs02PfG7 +8HYtVR97nVbl5wu4aIn9xa43LvhzIL+h2Gqw5tjieLcpOiHPx0Aq9HtFeFQHmgli +UYoKNLyB8ech1Nuhp2CWhfU5U0Rvvak0o2PuXQ2tUR+uq5ZgesQVTHXcXar/HDGV +D5GFJseS4YByZfARNsVmDQFXg9rRiimesmjIkhlsY4DCC5UL0i4kELFUshPxj21K +4y0UWPh4Pa+t +-----END AGE ENCRYPTED FILE----- diff --git a/hosts/mercury/nixos.nix b/hosts/mercury/nixos.nix index 02d4b96..87c0495 100644 --- a/hosts/mercury/nixos.nix +++ b/hosts/mercury/nixos.nix @@ -1,4 +1,8 @@ -{inputs, ...}: { +{ + inputs, + hosts, + ... +}: { imports = [ ./disks.nix ./battery.nix @@ -22,19 +26,7 @@ programs.kdeconnect.enable = true; security.pki.certificates = [ - '' - -----BEGIN CERTIFICATE----- - MIIBozCCAUmgAwIBAgIQbfaguvgtbo/JBep9INWMFjAKBggqhkjOPQQDAjAwMS4w - LAYDVQQDEyVDYWRkeSBMb2NhbCBBdXRob3JpdHkgLSAyMDI1IEVDQyBSb290MB4X - DTI1MTIyMzIzMTExMFoXDTM1MTEwMTIzMTExMFowMDEuMCwGA1UEAxMlQ2FkZHkg - TG9jYWwgQXV0aG9yaXR5IC0gMjAyNSBFQ0MgUm9vdDBZMBMGByqGSM49AgEGCCqG - SM49AwEHA0IABNWAL+OmSvNI1twW7CjWtVTj9PH86ejV52Tl/VKtTqacbAgS+TdU - aaekC0skEI1BNc76lsD84yRydvci1om1vv2jRTBDMA4GA1UdDwEB/wQEAwIBBjAS - BgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBShYvNluMWdF4EwkTWJgcBe8Foe - XzAKBggqhkjOPQQDAgNIADBFAiEAkoloryXWPdw50LtidCzi9lZDScU2Uofpp8ie - uc1PJgQCIBy3BQIcEh9ChGJ1cIrop43zMA4C9O8HwytFX11YpZnF - -----END CERTIFICATE----- - '' + hosts.ganymede.caddy-root-ca ]; # get perl out of my closure |
