diff --git a/modules/config/instances/config/acme.nix b/modules/config/instances/config/acme.nix index 0e95fd3..9b4a432 100755 --- a/modules/config/instances/config/acme.nix +++ b/modules/config/instances/config/acme.nix @@ -5,16 +5,16 @@ let sopsPath ; - label = "Acme"; - name = "acme"; + acmeLabel = "Acme"; + acmeName = "acme"; in { - label = label; - name = name; + label = acmeLabel; + name = acmeName; paths = { path0 = sslPath; }; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${acmeName}"; }; } diff --git a/modules/config/instances/config/audiobookshelf.nix b/modules/config/instances/config/audiobookshelf.nix index e78f45e..2a522a0 100755 --- a/modules/config/instances/config/audiobookshelf.nix +++ b/modules/config/instances/config/audiobookshelf.nix @@ -1,13 +1,13 @@ { instancesFunctions }: let inherit (instancesFunctions) + audiobookshelfLabel + audiobookshelfName domain0 servicePath sslPath sopsPath ; - audiobookshelfLabel = "Audiobookshelf"; - audiobookshelfName = "audiobookshelf"; audiobookshelfSubdomain = "books"; audiobookshelfDomain = "${audiobookshelfSubdomain}.${domain0}"; in diff --git a/modules/config/instances/config/forgejo.nix b/modules/config/instances/config/forgejo.nix index 7a2c2e4..0caa43b 100755 --- a/modules/config/instances/config/forgejo.nix +++ b/modules/config/instances/config/forgejo.nix @@ -7,32 +7,32 @@ let sopsPath ; - label = "Forgejo"; - name = "forgejo"; - subdomain = "source"; - domain = "${subdomain}.${domain3}"; + forgejoLabel = "Forgejo"; + forgejoName = "forgejo"; + forgejoSubdomain = "source"; + forgejoDomain = "${forgejoSubdomain}.${domain3}"; in { - label = label; - name = name; + label = forgejoLabel; + name = forgejoName; email = { address0 = "noreply@${domain3}"; }; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${forgejoName}"; }; domains = { - url0 = domain; + url0 = forgejoDomain; }; - subdomain = subdomain; + subdomain = forgejoSubdomain; paths = { - path0 = "${servicePath}/${label}"; + path0 = "${servicePath}/${forgejoLabel}"; }; ports = { port0 = 3033; }; ssl = { - cert = "${sslPath}/${subdomain}.${domain3}/fullchain.pem"; - key = "${sslPath}/${subdomain}.${domain3}/key.pem"; + cert = "${sslPath}/${forgejoSubdomain}.${domain3}/fullchain.pem"; + key = "${sslPath}/${forgejoSubdomain}.${domain3}/key.pem"; }; } diff --git a/modules/config/instances/config/glance.nix b/modules/config/instances/config/glance.nix index 1a8b2d8..de212ac 100755 --- a/modules/config/instances/config/glance.nix +++ b/modules/config/instances/config/glance.nix @@ -7,32 +7,32 @@ let sopsPath ; - label = "Glance"; - name = "glance"; - subdomain = "dashboard"; - domain = "${subdomain}.${domain0}"; + glanceLabel = "Glance"; + glanceName = "glance"; + glanceSubdomain = "dashboard"; + glanceDomain = "${glanceSubdomain}.${domain0}"; in { - label = label; - name = name; + label = glanceLabel; + name = glanceName; email = { address0 = "noreply@${domain0}"; }; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${glanceName}"; }; domains = { - url0 = domain; + url0 = glanceDomain; }; - subdomain = subdomain; + subdomain = glanceSubdomain; paths = { - path0 = "${servicePath}/${label}"; + path0 = "${servicePath}/${glanceLabel}"; }; ports = { port0 = 3434; }; ssl = { - cert = "${sslPath}/${subdomain}.${domain0}/fullchain.pem"; - key = "${sslPath}/${subdomain}.${domain0}/key.pem"; + cert = "${sslPath}/${glanceSubdomain}.${domain0}/fullchain.pem"; + key = "${sslPath}/${glanceSubdomain}.${domain0}/key.pem"; }; } diff --git a/modules/config/instances/config/jellyfin.nix b/modules/config/instances/config/jellyfin.nix index 3b07d10..7b39dc6 100755 --- a/modules/config/instances/config/jellyfin.nix +++ b/modules/config/instances/config/jellyfin.nix @@ -2,27 +2,27 @@ let inherit (instancesFunctions) domain0 + jellyfinLabel + jellyfinName servicePath sslPath sopsPath ; - label = "Jellyfin"; - name = "jellyfin"; - domain = "${name}.${domain0}"; + jellyfinDomain = "${jellyfinName}.${domain0}"; in { - label = label; - name = name; + label = jellyfinLabel; + name = jellyfinName; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${jellyfinName}"; }; domains = { - url0 = domain; + url0 = jellyfinDomain; }; - subdomain = name; + subdomain = jellyfinName; paths = { - path0 = "${servicePath}/${label}"; - path1 = "${servicePath}/${label}/cache"; + path0 = "${servicePath}/${jellyfinLabel}"; + path1 = "${servicePath}/${jellyfinLabel}/cache"; }; ports = { port0 = 5055; # Jellyseer @@ -30,7 +30,7 @@ in port2 = 8920; # Jellyfin HTTPS }; ssl = { - cert = "${sslPath}/${name}.${domain0}/fullchain.pem"; - key = "${sslPath}/${name}.${domain0}/key.pem"; + cert = "${sslPath}/${jellyfinName}.${domain0}/fullchain.pem"; + key = "${sslPath}/${jellyfinName}.${domain0}/key.pem"; }; } diff --git a/modules/config/instances/config/kanboard.nix b/modules/config/instances/config/kanboard.nix new file mode 100755 index 0000000..1f5d5c0 --- /dev/null +++ b/modules/config/instances/config/kanboard.nix @@ -0,0 +1,38 @@ +{ instancesFunctions }: +let + inherit (instancesFunctions) + domain0 + servicePath + sslPath + sopsPath + ; + + kanboardLabel = "Kanboard"; + kanboardName = "kanboard"; + kanboardSubdomain = "todo"; + kanboardDomain = "${kanboardSubdomain}.${domain0}"; +in +{ + label = kanboardLabel; + name = kanboardName; + email = { + address0 = "noreply@${kanboardName}.${domain0}"; + }; + sops = { + path0 = "${sopsPath}/${kanboardName}"; + }; + domains = { + url0 = kanboardDomain; + }; + subdomain = kanboardSubdomain; + paths = { + path0 = "${servicePath}/${kanboardLabel}"; + }; + ports = { + port0 = 3128; + }; + ssl = { + cert = "${sslPath}/${kanboardSubdomain}.${domain0}/fullchain.pem"; + key = "${sslPath}/${kanboardSubdomain}.${domain0}/key.pem"; + }; +} diff --git a/modules/config/instances/config/mastodon.nix b/modules/config/instances/config/mastodon.nix index 474d2a9..96e82e9 100755 --- a/modules/config/instances/config/mastodon.nix +++ b/modules/config/instances/config/mastodon.nix @@ -7,31 +7,31 @@ let sopsPath ; - label = "Mastodon"; - name = "mastodon"; - subdomain = "social"; - domain = "${subdomain}.${domain3}"; + mastodonLabel = "Mastodon"; + mastodonName = "mastodon"; + mastodonSubdomain = "social"; + mastodonDomain = "${mastodonSubdomain}.${domain3}"; in { - label = label; - name = name; + label = mastodonLabel; + name = mastodonName; email = { address0 = "noreply@${domain3}"; }; domains = { - url0 = domain; + url0 = mastodonDomain; }; - subdomain = subdomain; + subdomain = mastodonSubdomain; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${mastodonName}"; }; paths = { - path0 = "${servicePath}/${label}"; + path0 = "${servicePath}/${mastodonLabel}"; path1 = ""; path2 = ""; }; ssl = { - cert = "${sslPath}/${subdomain}.${domain3}/fullchain.pem"; - key = "${sslPath}/${subdomain}.${domain3}/key.pem"; + cert = "${sslPath}/${mastodonSubdomain}.${domain3}/fullchain.pem"; + key = "${sslPath}/${mastodonSubdomain}.${domain3}/key.pem"; }; } diff --git a/modules/config/instances/config/matrix.nix b/modules/config/instances/config/matrix.nix index c9c4c73..60584e1 100755 --- a/modules/config/instances/config/matrix.nix +++ b/modules/config/instances/config/matrix.nix @@ -5,18 +5,18 @@ let sopsPath ; - label = "Matrix"; - name = "matrix"; + matrixLabel = "Matrix"; + matrixName = "matrix"; in { - label = label; - name = name; + label = matrixLabel; + name = matrixName; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${matrixName}"; }; - subdomain = name; + subdomain = matrixName; paths = { - path0 = "${servicePath}/${label}"; + path0 = "${servicePath}/${matrixLabel}"; path1 = ""; path2 = ""; }; diff --git a/modules/config/instances/config/minecraft.nix b/modules/config/instances/config/minecraft.nix index 08d5f56..a31fda9 100755 --- a/modules/config/instances/config/minecraft.nix +++ b/modules/config/instances/config/minecraft.nix @@ -7,24 +7,24 @@ let sopsPath ; - label = "Minecraft"; - name = "minecraft"; + minecraftLabel = "Minecraft"; + minecraftName = "minecraft"; in { - label = label; - name = name; + label = minecraftLabel; + name = minecraftName; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${minecraftName}"; }; - subdomain = name; + subdomain = minecraftName; paths = { - path0 = "${servicePath}/${label}"; + path0 = "${servicePath}/${minecraftLabel}"; }; ports = { port0 = 43000; # Minecraft (Brix on Nix) }; ssl = { - cert = "${sslPath}/${name}.${domain0}/fullchain.pem"; - key = "${sslPath}/${name}.${domain0}/key.pem"; + cert = "${sslPath}/${minecraftName}.${domain0}/fullchain.pem"; + key = "${sslPath}/${minecraftName}.${domain0}/key.pem"; }; } diff --git a/modules/config/instances/config/nextcloud.nix b/modules/config/instances/config/nextcloud.nix index 76db639..76c83a1 100755 --- a/modules/config/instances/config/nextcloud.nix +++ b/modules/config/instances/config/nextcloud.nix @@ -7,31 +7,31 @@ let sopsPath ; - label = "Nextcloud"; - name = "nextcloud"; - domain = "${name}.${domain0}"; + nextcloudLabel = "Nextcloud"; + nextcloudName = "nextcloud"; + nextcloudDomain = "${nextcloudName}.${domain0}"; in { - label = label; - name = name; + label = nextcloudLabel; + name = nextcloudName; email = { - address0 = "noreply@${name}.${domain0}"; + address0 = "noreply@${nextcloudName}.${domain0}"; }; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${nextcloudName}"; }; domains = { - url0 = domain; + url0 = nextcloudDomain; }; - subdomain = name; + subdomain = nextcloudName; paths = { - path0 = "${servicePath}/${label}"; + path0 = "${servicePath}/${nextcloudLabel}"; }; ports = { port0 = 8354; # Nextcloud }; ssl = { - cert = "${sslPath}/${name}.${domain0}/fullchain.pem"; - key = "${sslPath}/${name}.${domain0}/key.pem"; + cert = "${sslPath}/${nextcloudName}.${domain0}/fullchain.pem"; + key = "${sslPath}/${nextcloudName}.${domain0}/key.pem"; }; } diff --git a/modules/config/instances/config/nginx.nix b/modules/config/instances/config/nginx.nix index 07e640c..fa9bce9 100755 --- a/modules/config/instances/config/nginx.nix +++ b/modules/config/instances/config/nginx.nix @@ -4,14 +4,14 @@ let sopsPath ; - label = "Nginx"; - name = "nginx"; + nginxLabel = "Nginx"; + nginxName = "nginx"; in { - label = label; - name = name; + label = nginxLabel; + name = nginxName; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${nginxName}"; }; ports = { port0 = 8080; diff --git a/modules/config/instances/config/ollama.nix b/modules/config/instances/config/ollama.nix index 2262b14..ad5e009 100755 --- a/modules/config/instances/config/ollama.nix +++ b/modules/config/instances/config/ollama.nix @@ -7,30 +7,30 @@ let sopsPath ; - label = "Ollama"; - name = "ollama"; - domain = "${name}.${domain0}"; + ollamaLabel = "Ollama"; + ollamaName = "ollama"; + ollamaDomain = "${ollamaName}.${domain0}"; in { - label = label; - name = name; + label = ollamaLabel; + name = ollamaName; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${ollamaName}"; }; domains = { - url0 = domain; + url0 = ollamaDomain; }; - subdomain = name; + subdomain = ollamaName; paths = { - path0 = "${servicePath}/${label}"; - path1 = "/mnt/media/storage/${name}"; + path0 = "${servicePath}/${ollamaLabel}"; + path1 = "/mnt/media/storage/${ollamaName}"; }; ports = { port0 = 8088; # Open-WebUI (Ollama Front End) port1 = 11434; # Ollama API }; ssl = { - cert = "${sslPath}/${name}.${domain0}/fullchain.pem"; - key = "${sslPath}/${name}.${domain0}/key.pem"; + cert = "${sslPath}/${ollamaName}.${domain0}/fullchain.pem"; + key = "${sslPath}/${ollamaName}.${domain0}/key.pem"; }; } diff --git a/modules/config/instances/config/owncast.nix b/modules/config/instances/config/owncast.nix index 126edbd..79484dc 100755 --- a/modules/config/instances/config/owncast.nix +++ b/modules/config/instances/config/owncast.nix @@ -7,31 +7,31 @@ let sopsPath ; - label = "Owncast"; - name = "owncast"; - subdomain = "stream"; - domain = "${subdomain}.${domain1}"; + owncastLabel = "Owncast"; + owncastName = "owncast"; + owncastSubdomain = "stream"; + owncastDomain = "${owncastSubdomain}.${domain1}"; in { - label = label; - name = name; + label = owncastLabel; + name = owncastName; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${owncastName}"; }; domains = { - url0 = domain; + url0 = owncastDomain; }; - subdomain = subdomain; + subdomain = owncastSubdomain; paths = { - path0 = "${servicePath}/${label}"; - path1 = "/mnt/media/storage/${name}"; + path0 = "${servicePath}/${owncastLabel}"; + path1 = "/mnt/media/storage/${owncastName}"; }; ports = { port0 = 9454; port1 = 1935; }; ssl = { - cert = "${sslPath}/${subdomain}.${domain1}/fullchain.pem"; - key = "${sslPath}/${subdomain}.${domain1}/key.pem"; + cert = "${sslPath}/${owncastSubdomain}.${domain1}/fullchain.pem"; + key = "${sslPath}/${owncastSubdomain}.${domain1}/key.pem"; }; } diff --git a/modules/config/instances/config/peertube.nix b/modules/config/instances/config/peertube.nix index 21f54fb..a6daf36 100755 --- a/modules/config/instances/config/peertube.nix +++ b/modules/config/instances/config/peertube.nix @@ -7,26 +7,26 @@ let sopsPath ; - label = "PeerTube"; - name = "peertube"; - subdomain = "video"; - domain = "${subdomain}.${domain3}"; + peertubeLabel = "PeerTube"; + peertubeName = "peertube"; + peertubeSubdomain = "video"; + peertubeDomain = "${peertubeSubdomain}.${domain3}"; in { - label = label; - name = name; + label = peertubeLabel; + name = peertubeName; email = { address0 = "noreply@${domain3}"; }; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${peertubeName}"; }; domains = { - url0 = domain; + url0 = peertubeDomain; }; - subdomain = subdomain; + subdomain = peertubeSubdomain; paths = { - path0 = "${servicePath}/${label}"; + path0 = "${servicePath}/${peertubeLabel}"; }; ports = { port0 = 9000; # HTTP @@ -36,7 +36,7 @@ in port4 = 52800; }; ssl = { - cert = "${sslPath}/${subdomain}.${domain3}/fullchain.pem"; - key = "${sslPath}/${subdomain}.${domain3}/key.pem"; + cert = "${sslPath}/${peertubeSubdomain}.${domain3}/fullchain.pem"; + key = "${sslPath}/${peertubeSubdomain}.${domain3}/key.pem"; }; } diff --git a/modules/config/instances/config/podgrab.nix b/modules/config/instances/config/podgrab.nix deleted file mode 100644 index 363218b..0000000 --- a/modules/config/instances/config/podgrab.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ instancesFunctions }: -let - inherit (instancesFunctions) - domain0 - servicePath - sslPath - sopsPath - ; - - label = "Podgrab"; - name = "podgrab"; - subdomain = "podcasts"; - domain = "${subdomain}.${domain0}"; -in -{ - label = label; - name = name; - sops = { - path0 = "${sopsPath}/${name}"; - }; - domains = { - url0 = domain; - }; - subdomain = name; - paths = { - path0 = "${servicePath}/${label}"; - }; - ports = { - port0 = 4242; - }; - ssl = { - cert = "${sslPath}/${name}.${domain0}/fullchain.pem"; - key = "${sslPath}/${name}.${domain0}/key.pem"; - }; -} diff --git a/modules/config/instances/config/postfix.nix b/modules/config/instances/config/postfix.nix index 59938df..d00765f 100755 --- a/modules/config/instances/config/postfix.nix +++ b/modules/config/instances/config/postfix.nix @@ -7,22 +7,22 @@ let sopsPath ; - label = "Postfix"; - name = "postfix"; - domain = "${name}.${domain3}"; + postfixLabel = "Postfix"; + postfixName = "postfix"; + postfixDomain = "${postfixName}.${domain3}"; in { - label = label; - name = name; + label = postfixLabel; + name = postfixName; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${postfixName}"; }; domains = { - url0 = domain; + url0 = postfixDomain; }; - subdomain = name; + subdomain = postfixName; paths = { - path0 = "${servicePath}/${label}"; + path0 = "${servicePath}/${postfixLabel}"; }; ssl = { cert = "${sslPath}/${domain3}/fullchain.pem"; diff --git a/modules/config/instances/config/postgresql.nix b/modules/config/instances/config/postgresql.nix index 51d9042..b03a623 100755 --- a/modules/config/instances/config/postgresql.nix +++ b/modules/config/instances/config/postgresql.nix @@ -5,17 +5,17 @@ let sopsPath ; - label = "PostgreSQL"; - name = "postgres"; + postgresLabel = "PostgreSQL"; + postgresName = "postgres"; in { - label = label; - name = name; + label = postgresLabel; + name = postgresName; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${postgresName}"; }; paths = { - path0 = "${servicePath}/${label}"; + path0 = "${servicePath}/${postgresLabel}"; }; ports = { port0 = 5432; diff --git a/modules/config/instances/config/samba.nix b/modules/config/instances/config/samba.nix index 2f672f1..f364d9c 100755 --- a/modules/config/instances/config/samba.nix +++ b/modules/config/instances/config/samba.nix @@ -4,14 +4,14 @@ let sopsPath ; - label = "Samba"; - name = "samba"; + sambaLabel = "Samba"; + sambaName = "samba"; in { - label = label; - name = name; + label = sambaLabel; + name = sambaName; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${sambaName}"; }; paths = { }; diff --git a/modules/config/instances/config/searx.nix b/modules/config/instances/config/searx.nix index be18191..d46e892 100755 --- a/modules/config/instances/config/searx.nix +++ b/modules/config/instances/config/searx.nix @@ -7,32 +7,32 @@ let sopsPath ; - label = "SearXNG"; - name = "searx"; - subdomain = "search"; - domain = "${subdomain}.${domain0}"; + searxLabel = "SearXNG"; + searxName = "searx"; + searxSubdomain = "search"; + searxDomain = "${searxSubdomain}.${domain0}"; in { - label = label; - name = name; + label = searxLabel; + name = searxName; email = { address0 = "noreply@${domain0}"; }; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${searxName}"; }; domains = { - url0 = domain; + url0 = searxDomain; }; - subdomain = subdomain; + subdomain = searxSubdomain; paths = { - path0 = "${servicePath}/${label}"; + path0 = "${servicePath}/${searxLabel}"; }; ports = { port0 = 8888; }; ssl = { - cert = "${sslPath}/${subdomain}.${domain0}/fullchain.pem"; - key = "${sslPath}/${subdomain}.${domain0}/key.pem"; + cert = "${sslPath}/${searxSubdomain}.${domain0}/fullchain.pem"; + key = "${sslPath}/${searxSubdomain}.${domain0}/key.pem"; }; } diff --git a/modules/config/instances/config/syncthing.nix b/modules/config/instances/config/syncthing.nix index cdfb9ae..5d24953 100755 --- a/modules/config/instances/config/syncthing.nix +++ b/modules/config/instances/config/syncthing.nix @@ -6,27 +6,27 @@ let sopsPath ; - label = "Syncthing"; - name = "syncthing"; - domain = "${name}.${domain0}"; + syncthingLabel = "Syncthing"; + syncthingName = "syncthing"; + syncthingDomain = "${syncthingName}.${domain0}"; in { - label = label; - name = name; + label = syncthingLabel; + name = syncthingName; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${syncthingName}"; }; domains = { - url0 = domain; + url0 = syncthingDomain; }; - subdomain = name; + subdomain = syncthingName; ports = { port0 = 8388; # Syncthing (WebUI) port1 = 21027; # Syncthing (Discovery) port2 = 22000; # Syncthing (Transfer) }; ssl = { - cert = "${sslPath}/${name}.${domain0}/fullchain.pem"; - key = "${sslPath}/${name}.${domain0}/key.pem"; + cert = "${sslPath}/${syncthingName}.${domain0}/fullchain.pem"; + key = "${sslPath}/${syncthingName}.${domain0}/key.pem"; }; } diff --git a/modules/config/instances/config/synology.nix b/modules/config/instances/config/synology.nix index b18d264..48d4c11 100755 --- a/modules/config/instances/config/synology.nix +++ b/modules/config/instances/config/synology.nix @@ -4,14 +4,14 @@ let sopsPath ; - label = "Synology"; - name = "synology"; + synologyLabel = "Synology"; + synologyName = "synology"; in { - label = label; - name = name; + label = synologyLabel; + name = synologyName; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${synologyName}"; }; ports = { port0 = 5001; # Synology HTTPS diff --git a/modules/config/instances/config/upRootNutrition.nix b/modules/config/instances/config/upRootNutrition.nix index 6e38aa0..059f8f0 100755 --- a/modules/config/instances/config/upRootNutrition.nix +++ b/modules/config/instances/config/upRootNutrition.nix @@ -6,17 +6,17 @@ let sopsPath ; - label = "upRootNutrition"; - name = "uprootnutrition"; + upRootNutritionLabel = "upRootNutrition"; + upRootNutritionName = "uprootnutrition"; in { - label = label; - name = name; + label = upRootNutritionLabel; + name = upRootNutritionName; email = { address0 = "nick@${domain3}"; }; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${upRootNutritionName}"; }; paths = { path0 = "/var/lib/website/dist"; diff --git a/modules/config/instances/config/vaultwarden.nix b/modules/config/instances/config/vaultwarden.nix index 3805bfd..e84a5b3 100755 --- a/modules/config/instances/config/vaultwarden.nix +++ b/modules/config/instances/config/vaultwarden.nix @@ -7,31 +7,31 @@ let sopsPath ; - label = "Vaultwarden"; - name = "vaultwarden"; - domain = "${name}.${domain0}"; + vaultwardenLabel = "Vaultwarden"; + vaultwardenName = "vaultwarden"; + vaultwardenDomain = "${vaultwardenName}.${domain0}"; in { - label = label; - name = name; + label = vaultwardenLabel; + name = vaultwardenName; email = { - address0 = "noreply@${name}.${domain0}"; + address0 = "noreply@${vaultwardenName}.${domain0}"; }; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${vaultwardenName}"; }; domains = { - url0 = domain; + url0 = vaultwardenDomain; }; - subdomain = name; + subdomain = vaultwardenName; paths = { - path0 = "${servicePath}/${label}/BackupDir"; + path0 = "${servicePath}/${vaultwardenLabel}/BackupDir"; }; ports = { port0 = 8085; # Vaultwarden WebUI }; ssl = { - cert = "${sslPath}/${name}.${domain0}/fullchain.pem"; - key = "${sslPath}/${name}.${domain0}/key.pem"; + cert = "${sslPath}/${vaultwardenName}.${domain0}/fullchain.pem"; + key = "${sslPath}/${vaultwardenName}.${domain0}/key.pem"; }; } diff --git a/modules/config/instances/config/wireGuard.nix b/modules/config/instances/config/wireGuard.nix index c9509d1..49d6824 100755 --- a/modules/config/instances/config/wireGuard.nix +++ b/modules/config/instances/config/wireGuard.nix @@ -4,14 +4,14 @@ let sopsPath ; - label = "WireGuard"; - name = "wireguard"; + wireGuardLabel = "WireGuard"; + wireGuardName = "wireguard"; in { - label = label; - name = name; + label = wireGuardLabel; + name = wireGuardName; sops = { - path0 = "${sopsPath}/${name}"; + path0 = "${sopsPath}/${wireGuardName}"; }; ports = { }; diff --git a/modules/config/instances/default.nix b/modules/config/instances/default.nix index f492911..bfd67c3 100755 --- a/modules/config/instances/default.nix +++ b/modules/config/instances/default.nix @@ -2,6 +2,10 @@ let configPath = ./config; instancesFunctions = { + jellyfinLabel = "Jellyfin"; + jellyfinName = "jellyfin"; + audiobookshelfLabel = "Audiobookshelf"; + audiobookshelfName = "audiobookshelf"; domain0 = "cloudbert.fun"; domain1 = "the-nutrivore.social"; domain2 = "the-nutrivore.com"; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index ac774af..cf32ac3 100755 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -82,7 +82,6 @@ in logrotate mastodon minecraft - podgrab ollama website postgresql diff --git a/modules/nixos/services/acme/default.nix b/modules/nixos/services/acme/default.nix index 659eff6..d6e1073 100755 --- a/modules/nixos/services/acme/default.nix +++ b/modules/nixos/services/acme/default.nix @@ -38,8 +38,8 @@ in "nextcloud" "syncthing" "searx" - "podgrab" "vaultwarden" + "kanboard" "audiobookshelf" ] ) diff --git a/modules/nixos/services/podgrab/default.nix b/modules/nixos/services/podgrab/default.nix deleted file mode 100644 index 82a5b95..0000000 --- a/modules/nixos/services/podgrab/default.nix +++ /dev/null @@ -1,77 +0,0 @@ -{ config, flake, ... }: -let - inherit (flake.config.services.instances) podgrab web; - inherit (flake.config.machines.devices) ceres; - service = podgrab; - localhost = web.localhost.address0; - host = service.domains.url0; -in -{ - services = { - podgrab = { - enable = true; - port = service.ports.port0; - passwordFile = config.sops.secrets."${service.name}-pass".path; - dataDirectory = service.paths.path0; - }; - caddy = { - virtualHosts = { - "${host}" = { - extraConfig = '' - redir /.well-known/carddav /remote.php/dav/ 301 - redir /.well-known/caldav /remote.php/dav/ 301 - - reverse_proxy ${localhost}:${toString service.ports.port0} - - tls ${service.ssl.cert} ${service.ssl.key} - ''; - }; - }; - }; - }; - - sops = - let - sopsPath = secret: { - path = "${service.sops.path0}/password.env"; - owner = service.name; - mode = "600"; - }; - in - { - secrets = builtins.listToAttrs ( - map - (secret: { - name = "${service.name}-${secret}"; - value = sopsPath secret; - }) - [ - "pass" - ] - ); - }; - - fileSystems."/var/lib/${service.name}" = { - device = service.paths.path0; - fsType = "none"; - options = [ - "bind" - ]; - depends = [ - ceres.storage0.mount - ]; - }; - - systemd.tmpfiles.rules = [ - "Z ${service.paths.path0} 0755 ${service.name} ${service.name} -" - "Z ${service.sops.path0} 0755 ${service.name} ${service.name} -" - ]; - - networking = { - firewall = { - allowedTCPPorts = [ - service.ports.port0 - ]; - }; - }; -} diff --git a/secrets/secrets.yaml b/secrets/secrets.yaml index fd5a283..0a6b517 100755 --- a/secrets/secrets.yaml +++ b/secrets/secrets.yaml @@ -36,7 +36,6 @@ wireguard-CA358: ENC[AES256_GCM,data:/VewmiNfRc9/wSE7TT+z1F9LLIvr/5wPsQZ/zBwAh3d wireguard-CA627: ENC[AES256_GCM,data:chmDsH2nE0nagjFRZWuxX08/Ykt+rIgCHYkMHd+7nIqihK5SebF7MJlrp84=,iv:NVOlGE7W70nQ0UM/i5WixJvDULO3Y4cLf8h+OAGHhQQ=,tag:L123ShCnr9+kIg1itIoqBA==,type:str] glance-jellyfin: ENC[AES256_GCM,data:ozdDKgAWkA88J2j8RtiOP/aQPAt/neUOSlAZF20g510=,iv:x+VhYlnA9F/VPrzVcma4/oPelCc8kjWoTZvOs4L9Uqo=,tag:crdSDjr8Y5GH/JAF6t8Yeg==,type:str] kanboard-smtp: ENC[AES256_GCM,data:eOIEGwJZlvbJaTfDRU3IFQ==,iv:Jex01WlHG3uxqUnTSF+v1BgnNcIu4cS9OwHBCFl1m28=,tag:3Eld1FkI6AftlCyC3419BA==,type:str] -podgrab-pass: ENC[AES256_GCM,data:DVmJDb4VqcZDKNcedSaRA5dqKOzx1tSzDiK3i23+a6v3nK+4Kh7n8EA=,iv:SiiUjJLHkCOO1VKCmubftKx06laFqNv79tIPnkVYrJU=,tag:kdkT+03DemlNAsuzps8fnw==,type:str] sops: age: - recipient: age19dpncsdphdt2tmknjs99eghk527pvdrw0m29qjn2z2gg3et5tdtqycqhl0 @@ -48,7 +47,7 @@ sops: bXBOa1VSakoyaWxpODJEOU11QUZCaUEK8Ch9Ten3DdrPHF1DTH2qei85AlHUOaLD aNfzakake7ej+MxJYdKEU0bcWofNMKzIlZa2uM10KZSENDP8d8qlig== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-06-22T17:49:20Z" - mac: ENC[AES256_GCM,data:xaNgww0DTuVdPtVy9oTmn0HKmDKpiOnjFnSBjJ7YxqV8R2c+VWEnA6P1vBrR5L9xG/nXvBhMm7XMOA/z0eZRWM2CfjNyrk6KOFyLArvJLyzj8zRZThe6rFNAiSjndwVNBHtYSYid3Bisupuagp1HuYXK1JDlgc9a93c7rlbG1OI=,iv:OBl0hhf0T+I7FuXAkgUrJOkJHN2H0LR+JKp1KsyyMD0=,tag:+PE51+dUw9erKChmvl6j/w==,type:str] + lastmodified: "2025-06-09T22:48:59Z" + mac: ENC[AES256_GCM,data:NDH6wnmCs/D4SPJW5UaI96dfH0LrNG3H6khNUndFg8qWn8AG8/QJjsanSkEs+OnOE/l4nO84qAr9k9mEeqtYxDQsPehrBroSNPZQLsmB9EWCM7mHX4f9aeadm7liWWRf8ay96F3zl8PrxJNEus8cO57FKDVDqUgcldSzdaHxI00=,iv:1Jbhr61vUmByPfGquSrHWiytgasjmGMw+aXPZnuCLN8=,tag:UzgVLK+wsFSwAUKmIImN/g==,type:str] unencrypted_suffix: _unencrypted version: 3.10.2 diff --git a/templates/elm/frontend/.gitignore b/templates/elm/frontend/.gitignore old mode 100755 new mode 100644 diff --git a/templates/elm/frontend/README.md b/templates/elm/frontend/README.md old mode 100755 new mode 100644 diff --git a/templates/elm/frontend/elm-land.json b/templates/elm/frontend/elm-land.json old mode 100755 new mode 100644 diff --git a/templates/elm/frontend/elm.json b/templates/elm/frontend/elm.json old mode 100755 new mode 100644 diff --git a/templates/elm/frontend/src/Effect.elm b/templates/elm/frontend/src/Effect.elm old mode 100755 new mode 100644 diff --git a/templates/elm/frontend/src/Pages/Home_.elm b/templates/elm/frontend/src/Pages/Home_.elm old mode 100755 new mode 100644 diff --git a/templates/elm/frontend/src/Pages/NotFound_.elm b/templates/elm/frontend/src/Pages/NotFound_.elm old mode 100755 new mode 100644 diff --git a/templates/elm/frontend/src/Shared.elm b/templates/elm/frontend/src/Shared.elm old mode 100755 new mode 100644 diff --git a/templates/elm/frontend/src/Shared/Model.elm b/templates/elm/frontend/src/Shared/Model.elm old mode 100755 new mode 100644 diff --git a/templates/elm/frontend/src/Shared/Msg.elm b/templates/elm/frontend/src/Shared/Msg.elm old mode 100755 new mode 100644 diff --git a/templates/elm/frontend/src/View.elm b/templates/elm/frontend/src/View.elm old mode 100755 new mode 100644 diff --git a/templates/elm/frontend/src/interop.ts b/templates/elm/frontend/src/interop.ts old mode 100755 new mode 100644