feat: refactored names and labels

This commit is contained in:
Nick 2024-10-23 15:17:34 -05:00
parent e4ff26f2b6
commit 8e9a1d25d3

View file

@ -1,46 +1,10 @@
let let
acmeLabel = "Acme";
caddyLabel = "Caddy";
castLabel = "Castopod";
forgejoLabel = "Forgejo";
jellyfinLabel = "Jellyfin"; 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"; 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"; domain0 = "cloudbert.fun";
domain1 = "the-nutrivore.social"; domain1 = "the-nutrivore.social";
domain2 = "the-nutrivore.com";
servicePath = "/mnt/media/NAS1"; servicePath = "/mnt/media/NAS1";
@ -55,6 +19,7 @@ in {
domains = { domains = {
url0 = domain0; url0 = domain0;
url1 = domain1; url1 = domain1;
url2 = domain2;
}; };
dns = { dns = {
provider0 = "namecheap"; provider0 = "namecheap";
@ -66,7 +31,10 @@ in {
address3 = "192.168.50.0"; # Router address3 = "192.168.50.0"; # Router
}; };
}; };
acme = { acme = let
acmeLabel = "Acme";
acmeName = "acme";
in {
label = acmeLabel; label = acmeLabel;
name = acmeName; name = acmeName;
paths = { paths = {
@ -76,7 +44,10 @@ in {
path0 = "${sops}/${acmeName}"; path0 = "${sops}/${acmeName}";
}; };
}; };
caddy = { caddy = let
caddyLabel = "Caddy";
caddyName = "caddy";
in {
label = caddyLabel; label = caddyLabel;
name = caddyName; name = caddyName;
sops = { sops = {
@ -88,19 +59,21 @@ in {
}; };
}; };
castopod = let castopod = let
castopodLabel = "Castopod";
castopodName = "castopod";
castopodSubdomain = "podcast"; castopodSubdomain = "podcast";
in { in {
label = castLabel; label = castopodLabel;
name = castName; name = castopodName;
email = { email = {
address0 = "noreply@${castopodSubdomain}.${domain1}"; address0 = "noreply@${castopodSubdomain}.${domain1}";
}; };
sops = { sops = {
path0 = "${sops}/${castName}"; path0 = "${sops}/${castopodName}";
}; };
subdomain = castopodSubdomain; subdomain = castopodSubdomain;
paths = { paths = {
path0 = "${servicePath}/${castLabel}"; path0 = "${servicePath}/${castopodLabel}";
}; };
ports = { ports = {
port0 = 8000; port0 = 8000;
@ -111,6 +84,8 @@ in {
}; };
}; };
forgejo = let forgejo = let
forgejoLabel = "Forgejo";
forgejoName = "forgejo";
forgejoSubdomain = "source"; forgejoSubdomain = "source";
in { in {
label = forgejoLabel; label = forgejoLabel;
@ -153,7 +128,10 @@ in {
key = "${sslPath}/${jellyfinName}.${domain0}/key.pem"; key = "${sslPath}/${jellyfinName}.${domain0}/key.pem";
}; };
}; };
matrix = { matrix = let
matrixLabel = "Matrix";
matrixName = "matrix";
in {
label = matrixLabel; label = matrixLabel;
name = matrixName; name = matrixName;
sops = { sops = {
@ -166,7 +144,10 @@ in {
path2 = ""; path2 = "";
}; };
}; };
mastodon = { mastodon = let
mastodonLabel = "Mastodon";
mastodonName = "mastodon";
in {
label = mastodonLabel; label = mastodonLabel;
name = mastodonName; name = mastodonName;
email = { email = {
@ -185,7 +166,10 @@ in {
key = "${sslPath}/${domain1}/key.pem"; key = "${sslPath}/${domain1}/key.pem";
}; };
}; };
minecraft = { minecraft = let
minecraftLabel = "Minecraft";
minecraftName = "minecraft";
in {
label = minecraftLabel; label = minecraftLabel;
name = minecraftName; name = minecraftName;
sops = { sops = {
@ -203,7 +187,10 @@ in {
key = "${sslPath}/${minecraftName}.${domain0}/key.pem"; key = "${sslPath}/${minecraftName}.${domain0}/key.pem";
}; };
}; };
nextcloud = { nextcloud = let
nextcloudLabel = "Nextcloud";
nextcloudName = "nextcloud";
in {
label = nextcloudLabel; label = nextcloudLabel;
name = nextcloudName; name = nextcloudName;
sops = { sops = {
@ -227,7 +214,10 @@ in {
port1 = 8443; # HTTPS port1 = 8443; # HTTPS
}; };
}; };
ollama = { ollama = let
ollamaLabel = "Ollama";
ollamaName = "ollama";
in {
label = ollamaLabel; label = ollamaLabel;
name = ollamaName; name = ollamaName;
sops = { sops = {
@ -248,6 +238,8 @@ in {
}; };
}; };
owncast = let owncast = let
owncastLabel = "Owncast";
owncastName = "owncast";
owncastSubdomain = "stream"; owncastSubdomain = "stream";
in { in {
label = owncastLabel; label = owncastLabel;
@ -270,6 +262,8 @@ in {
}; };
}; };
peertube = let peertube = let
peertubeLabel = "PeerTube";
peertubeName = "peertube";
peertubeSubdomain = "video"; peertubeSubdomain = "video";
in { in {
label = peertubeLabel; label = peertubeLabel;
@ -296,7 +290,10 @@ in {
key = "${sslPath}/video.${domain1}/key.pem"; key = "${sslPath}/video.${domain1}/key.pem";
}; };
}; };
postgresql = { postgresql = let
postgresLabel = "PostgreSQL";
postgresName = "postgres";
in {
label = postgresLabel; label = postgresLabel;
name = postgresName; name = postgresName;
sops = { sops = {
@ -309,7 +306,10 @@ in {
port0 = 5432; port0 = 5432;
}; };
}; };
samba = { samba = let
sambaLabel = "Samba";
sambaName = "samba";
in {
label = sambaLabel; label = sambaLabel;
name = sambaName; name = sambaName;
sops = { sops = {
@ -324,17 +324,10 @@ in {
port0 = 445; # Samba port0 = 445; # Samba
}; };
}; };
synology = { syncthing = let
label = synologyLabel; syncthingLabel = "Syncthing";
name = synologyName; syncthingName = "syncthing";
sops = { in {
path0 = "${sops}/${synologyName}";
};
ports = {
port0 = 5001; # Synology HTTPS
};
};
syncthing = {
label = syncthingLabel; label = syncthingLabel;
name = syncthingName; name = syncthingName;
sops = { sops = {
@ -351,18 +344,32 @@ in {
key = "${sslPath}/${syncthingName}.${domain0}/key.pem"; 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 vaultwarden = let
vaultwardenSubdomain = vaultwardenName; vaultwardenLabel = "Vaultwarden";
vaultwardenName = "vaultwarden";
in { in {
label = vaultwardenLabel; label = vaultwardenLabel;
name = vaultwardenName; name = vaultwardenName;
email = { email = {
address0 = "noreply@${vaultwardenSubdomain}.${domain0}"; address0 = "noreply@${vaultwardenName}.${domain0}";
}; };
sops = { sops = {
path0 = "${sops}/${vaultwardenName}"; path0 = "${sops}/${vaultwardenName}";
}; };
subdomain = vaultwardenSubdomain; subdomain = vaultwardenName;
paths = { paths = {
path0 = "${servicePath}/${vaultwardenLabel}/BackupDir"; path0 = "${servicePath}/${vaultwardenLabel}/BackupDir";
}; };
@ -375,6 +382,8 @@ in {
}; };
}; };
wiki = let wiki = let
wikiLabel = "Wiki-js";
wikiName = "wiki-js";
wikiSubdomain = "vault"; wikiSubdomain = "vault";
in { in {
label = wikiLabel; label = wikiLabel;
@ -397,14 +406,16 @@ in {
}; };
}; };
writefreely = let writefreely = let
writefreelyDomain = "blog"; writefreelyLabel = "WriteFreely";
writefreelyName = "writefreely";
writefreelySubdomain = "blog";
in { in {
label = writefreelyLabel; label = writefreelyLabel;
name = writefreelyName; name = writefreelyName;
sops = { sops = {
path0 = "${sops}/${writefreelyName}"; path0 = "${sops}/${writefreelyName}";
}; };
subdomain = writefreelyDomain; subdomain = writefreelySubdomain;
paths = { paths = {
path0 = "${servicePath}/${writefreelyLabel}/BackupDir"; path0 = "${servicePath}/${writefreelyLabel}/BackupDir";
}; };
@ -412,8 +423,8 @@ in {
port0 = 8093; port0 = 8093;
}; };
ssl = { ssl = {
cert = "${sslPath}/${writefreelyDomain}.${domain1}/fullchain.pem"; cert = "${sslPath}/${writefreelySubdomain}.${domain1}/fullchain.pem";
key = "${sslPath}/${writefreelyDomain}.${domain1}/key.pem"; key = "${sslPath}/${writefreelySubdomain}.${domain1}/key.pem";
}; };
}; };
}; };