From 8e9a1d25d3d48974c0a7c97fa0616cb64a04f2df Mon Sep 17 00:00:00 2001 From: Nick Date: Wed, 23 Oct 2024 15:17:34 -0500 Subject: [PATCH] feat: refactored names and labels --- config/instance.nix | 147 ++++++++++++++++++++++++-------------------- 1 file changed, 79 insertions(+), 68 deletions(-) diff --git a/config/instance.nix b/config/instance.nix index 4c13bff..d3526cf 100755 --- a/config/instance.nix +++ b/config/instance.nix @@ -1,46 +1,10 @@ let - acmeLabel = "Acme"; - caddyLabel = "Caddy"; - castLabel = "Castopod"; - forgejoLabel = "Forgejo"; jellyfinLabel = "Jellyfin"; - mastodonLabel = "Mastodon"; - matrixLabel = "Matrix"; - minecraftLabel = "Minecraft"; - nextcloudLabel = "Nextcloud"; - ollamaLabel = "Ollama"; - owncastLabel = "Owncast"; - peertubeLabel = "PeerTube"; - postgresLabel = "PostgreSQL"; - sambaLabel = "Samba"; - syncthingLabel = "Syncthing"; - synologyLabel = "Synology"; - vaultwardenLabel = "Vaultwarden"; - wikiLabel = "Wiki-js"; - writefreelyLabel = "WriteFreely"; - - acmeName = "acme"; - caddyName = "caddy"; - castName = "castopod"; - forgejoName = "forgejo"; jellyfinName = "jellyfin"; - mastodonName = "mastodon"; - matrixName = "matrix"; - minecraftName = "minecraft"; - nextcloudName = "nextcloud"; - ollamaName = "ollama"; - owncastName = "owncast"; - peertubeName = "peertube"; - postgresName = "postgres"; - sambaName = "samba"; - syncthingName = "syncthing"; - synologyName = "synology"; - vaultwardenName = "vaultwarden"; - wikiName = "wiki-js"; - writefreelyName = "writefreely"; domain0 = "cloudbert.fun"; domain1 = "the-nutrivore.social"; + domain2 = "the-nutrivore.com"; servicePath = "/mnt/media/NAS1"; @@ -55,6 +19,7 @@ in { domains = { url0 = domain0; url1 = domain1; + url2 = domain2; }; dns = { provider0 = "namecheap"; @@ -66,7 +31,10 @@ in { address3 = "192.168.50.0"; # Router }; }; - acme = { + acme = let + acmeLabel = "Acme"; + acmeName = "acme"; + in { label = acmeLabel; name = acmeName; paths = { @@ -76,7 +44,10 @@ in { path0 = "${sops}/${acmeName}"; }; }; - caddy = { + caddy = let + caddyLabel = "Caddy"; + caddyName = "caddy"; + in { label = caddyLabel; name = caddyName; sops = { @@ -88,19 +59,21 @@ in { }; }; castopod = let + castopodLabel = "Castopod"; + castopodName = "castopod"; castopodSubdomain = "podcast"; in { - label = castLabel; - name = castName; + label = castopodLabel; + name = castopodName; email = { address0 = "noreply@${castopodSubdomain}.${domain1}"; }; sops = { - path0 = "${sops}/${castName}"; + path0 = "${sops}/${castopodName}"; }; subdomain = castopodSubdomain; paths = { - path0 = "${servicePath}/${castLabel}"; + path0 = "${servicePath}/${castopodLabel}"; }; ports = { port0 = 8000; @@ -111,6 +84,8 @@ in { }; }; forgejo = let + forgejoLabel = "Forgejo"; + forgejoName = "forgejo"; forgejoSubdomain = "source"; in { label = forgejoLabel; @@ -153,7 +128,10 @@ in { key = "${sslPath}/${jellyfinName}.${domain0}/key.pem"; }; }; - matrix = { + matrix = let + matrixLabel = "Matrix"; + matrixName = "matrix"; + in { label = matrixLabel; name = matrixName; sops = { @@ -166,7 +144,10 @@ in { path2 = ""; }; }; - mastodon = { + mastodon = let + mastodonLabel = "Mastodon"; + mastodonName = "mastodon"; + in { label = mastodonLabel; name = mastodonName; email = { @@ -185,7 +166,10 @@ in { key = "${sslPath}/${domain1}/key.pem"; }; }; - minecraft = { + minecraft = let + minecraftLabel = "Minecraft"; + minecraftName = "minecraft"; + in { label = minecraftLabel; name = minecraftName; sops = { @@ -203,7 +187,10 @@ in { key = "${sslPath}/${minecraftName}.${domain0}/key.pem"; }; }; - nextcloud = { + nextcloud = let + nextcloudLabel = "Nextcloud"; + nextcloudName = "nextcloud"; + in { label = nextcloudLabel; name = nextcloudName; sops = { @@ -227,7 +214,10 @@ in { port1 = 8443; # HTTPS }; }; - ollama = { + ollama = let + ollamaLabel = "Ollama"; + ollamaName = "ollama"; + in { label = ollamaLabel; name = ollamaName; sops = { @@ -248,6 +238,8 @@ in { }; }; owncast = let + owncastLabel = "Owncast"; + owncastName = "owncast"; owncastSubdomain = "stream"; in { label = owncastLabel; @@ -270,6 +262,8 @@ in { }; }; peertube = let + peertubeLabel = "PeerTube"; + peertubeName = "peertube"; peertubeSubdomain = "video"; in { label = peertubeLabel; @@ -296,7 +290,10 @@ in { key = "${sslPath}/video.${domain1}/key.pem"; }; }; - postgresql = { + postgresql = let + postgresLabel = "PostgreSQL"; + postgresName = "postgres"; + in { label = postgresLabel; name = postgresName; sops = { @@ -309,7 +306,10 @@ in { port0 = 5432; }; }; - samba = { + samba = let + sambaLabel = "Samba"; + sambaName = "samba"; + in { label = sambaLabel; name = sambaName; sops = { @@ -324,17 +324,10 @@ in { port0 = 445; # Samba }; }; - synology = { - label = synologyLabel; - name = synologyName; - sops = { - path0 = "${sops}/${synologyName}"; - }; - ports = { - port0 = 5001; # Synology HTTPS - }; - }; - syncthing = { + syncthing = let + syncthingLabel = "Syncthing"; + syncthingName = "syncthing"; + in { label = syncthingLabel; name = syncthingName; sops = { @@ -351,18 +344,32 @@ in { key = "${sslPath}/${syncthingName}.${domain0}/key.pem"; }; }; + synology = let + synologyLabel = "Synology"; + synologyName = "synology"; + in { + label = synologyLabel; + name = synologyName; + sops = { + path0 = "${sops}/${synologyName}"; + }; + ports = { + port0 = 5001; # Synology HTTPS + }; + }; vaultwarden = let - vaultwardenSubdomain = vaultwardenName; + vaultwardenLabel = "Vaultwarden"; + vaultwardenName = "vaultwarden"; in { label = vaultwardenLabel; name = vaultwardenName; email = { - address0 = "noreply@${vaultwardenSubdomain}.${domain0}"; + address0 = "noreply@${vaultwardenName}.${domain0}"; }; sops = { path0 = "${sops}/${vaultwardenName}"; }; - subdomain = vaultwardenSubdomain; + subdomain = vaultwardenName; paths = { path0 = "${servicePath}/${vaultwardenLabel}/BackupDir"; }; @@ -375,6 +382,8 @@ in { }; }; wiki = let + wikiLabel = "Wiki-js"; + wikiName = "wiki-js"; wikiSubdomain = "vault"; in { label = wikiLabel; @@ -397,14 +406,16 @@ in { }; }; writefreely = let - writefreelyDomain = "blog"; + writefreelyLabel = "WriteFreely"; + writefreelyName = "writefreely"; + writefreelySubdomain = "blog"; in { label = writefreelyLabel; name = writefreelyName; sops = { path0 = "${sops}/${writefreelyName}"; }; - subdomain = writefreelyDomain; + subdomain = writefreelySubdomain; paths = { path0 = "${servicePath}/${writefreelyLabel}/BackupDir"; }; @@ -412,8 +423,8 @@ in { port0 = 8093; }; ssl = { - cert = "${sslPath}/${writefreelyDomain}.${domain1}/fullchain.pem"; - key = "${sslPath}/${writefreelyDomain}.${domain1}/key.pem"; + cert = "${sslPath}/${writefreelySubdomain}.${domain1}/fullchain.pem"; + key = "${sslPath}/${writefreelySubdomain}.${domain1}/key.pem"; }; }; };