chore: init

This commit is contained in:
Nick 2025-10-01 19:51:55 -05:00
commit 1b2c1ea359
891 changed files with 37053 additions and 0 deletions

View file

@ -0,0 +1,20 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
sslPath
sopsPath
;
label = "Acme";
name = "acme";
in
{
label = label;
name = name;
paths = {
path0 = sslPath;
};
sops = {
path0 = "${sopsPath}/${name}";
};
}

View file

@ -0,0 +1,38 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain0
servicePath
sslPath
sopsPath
;
audiobookshelfLabel = "Audiobookshelf";
audiobookshelfName = "audiobookshelf";
audiobookshelfSubdomain = "books";
audiobookshelfDomain = "${audiobookshelfSubdomain}.${domain0}";
in
{
label = audiobookshelfLabel;
name = audiobookshelfName;
short = "Books";
sops = {
path0 = "${sopsPath}/${audiobookshelfName}";
};
domains = {
url0 = audiobookshelfDomain;
};
subdomain = audiobookshelfSubdomain;
tags = [
];
paths = {
path0 = "${servicePath}/${audiobookshelfLabel}";
};
ports = {
port0 = 8000;
};
ssl = {
cert = "${sslPath}/${audiobookshelfSubdomain}.${domain0}/fullchain.pem";
key = "${sslPath}/${audiobookshelfSubdomain}.${domain0}/key.pem";
};
}

View file

@ -0,0 +1,20 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
sopsPath
;
caddyLabel = "Caddy";
caddyName = "caddy";
in
{
label = caddyLabel;
name = caddyName;
sops = {
path0 = "${sopsPath}/${caddyName}";
};
ports = {
port0 = 80;
port1 = 443;
};
}

View file

@ -0,0 +1,41 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain0
servicePath
sslPath
sopsPath
;
label = "ComfyUI";
name = "comfyui";
subdomain = "comfyui";
domain = "${subdomain}.${domain0}";
in
{
label = label;
name = name;
short = label;
sops = {
path0 = "${sopsPath}/${name}";
};
domains = {
url0 = domain;
};
subdomain = subdomain;
tags = [
name
"comfy"
"ui"
];
paths = {
path0 = "${servicePath}/${label}";
};
ports = {
port0 = 8188;
};
ssl = {
cert = "${sslPath}/${domain0}/fullchain.pem";
key = "${sslPath}/${domain0}/key.pem";
};
}

View file

@ -0,0 +1,44 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain3
servicePath
sslPath
sopsPath
;
label = "Forgejo";
name = "forgejo";
subdomain = "source";
domain = "${subdomain}.${domain3}";
in
{
label = label;
name = name;
short = label;
email = {
address0 = "noreply@${domain3}";
};
sops = {
path0 = "${sopsPath}/${name}";
};
domains = {
url0 = domain;
};
subdomain = subdomain;
tags = [
name
"forge"
"git"
];
paths = {
path0 = "${servicePath}/${label}";
};
ports = {
port0 = 3033;
};
ssl = {
cert = "${sslPath}/${subdomain}.${domain3}/fullchain.pem";
key = "${sslPath}/${subdomain}.${domain3}/key.pem";
};
}

View file

@ -0,0 +1,45 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain0
servicePath
sslPath
sopsPath
;
label = "Glance";
name = "glance";
subdomain = "dashboard";
domain = "${subdomain}.${domain0}";
in
{
label = label;
name = name;
short = label;
email = {
address0 = "noreply@${domain0}";
};
sops = {
path0 = "${sopsPath}/${name}";
};
domains = {
url0 = domain;
};
subdomain = subdomain;
tags = [
"glance"
"dashboard"
"weather"
"podcasts"
];
paths = {
path0 = "${servicePath}/${label}";
};
ports = {
port0 = 3434;
};
ssl = {
cert = "${sslPath}/${subdomain}.${domain0}/fullchain.pem";
key = "${sslPath}/${subdomain}.${domain0}/key.pem";
};
}

View file

@ -0,0 +1,45 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain0
servicePath
sslPath
sopsPath
;
label = "Jellyfin";
name = "jellyfin";
domain = "${name}.${domain0}";
in
{
label = label;
name = name;
short = "Jelly";
sops = {
path0 = "${sopsPath}/${name}";
};
domains = {
url0 = domain;
};
tags = [
"jelly"
"video"
"streaming"
"movies"
"shows"
"music"
];
subdomain = name;
paths = {
path0 = "${servicePath}/${label}";
path1 = "${servicePath}/${label}/cache";
};
ports = {
port0 = 8096; # Jellyfin HTTP
port1 = 5055; # Jellyseer
port2 = 8920; # Jellyfin HTTPS
};
ssl = {
cert = "${sslPath}/${name}.${domain0}/fullchain.pem";
key = "${sslPath}/${name}.${domain0}/key.pem";
};
}

View file

@ -0,0 +1,43 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain3
servicePath
sslPath
sopsPath
;
label = "Mastodon";
name = "mastodon";
subdomain = "social";
domain = "${subdomain}.${domain3}";
in
{
label = label;
name = name;
short = "Mast";
email = {
address0 = "noreply@${domain3}";
};
domains = {
url0 = domain;
};
subdomain = subdomain;
tags = [
name
"mast"
"md"
];
sops = {
path0 = "${sopsPath}/${name}";
};
paths = {
path0 = "${servicePath}/${label}";
path1 = "";
path2 = "";
};
ssl = {
cert = "${sslPath}/${subdomain}.${domain3}/fullchain.pem";
key = "${sslPath}/${subdomain}.${domain3}/key.pem";
};
}

View file

@ -0,0 +1,27 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
servicePath
sopsPath
;
label = "Matrix";
name = "matrix";
in
{
label = label;
name = name;
short = label;
sops = {
path0 = "${sopsPath}/${name}";
};
subdomain = name;
tags = [
];
paths = {
path0 = "${servicePath}/${label}";
path1 = "";
path2 = "";
};
}

View file

@ -0,0 +1,30 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain0
servicePath
sslPath
sopsPath
;
label = "Minecraft";
name = "minecraft";
in
{
label = label;
name = name;
sops = {
path0 = "${sopsPath}/${name}";
};
subdomain = name;
paths = {
path0 = "${servicePath}/${label}";
};
ports = {
port0 = 43000; # Minecraft (Brix on Nix)
};
ssl = {
cert = "${sslPath}/${name}.${domain0}/fullchain.pem";
key = "${sslPath}/${name}.${domain0}/key.pem";
};
}

View file

@ -0,0 +1,44 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain0
servicePath
sslPath
sopsPath
;
label = "Nextcloud";
name = "nextcloud";
domain = "${name}.${domain0}";
in
{
label = label;
name = name;
short = "Next";
email = {
address0 = "noreply@${name}.${domain0}";
};
sops = {
path0 = "${sopsPath}/${name}";
};
domains = {
url0 = domain;
};
subdomain = name;
tags = [
name
"next"
"cloud"
"calendar"
];
paths = {
path0 = "${servicePath}/${label}";
};
ports = {
port0 = 8354; # Nextcloud
};
ssl = {
cert = "${sslPath}/${name}.${domain0}/fullchain.pem";
key = "${sslPath}/${name}.${domain0}/key.pem";
};
}

View file

@ -0,0 +1,19 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
sopsPath
;
label = "Nginx";
name = "nginx";
in
{
label = label;
name = name;
sops = {
path0 = "${sopsPath}/${name}";
};
ports = {
port0 = 8080;
};
}

View file

@ -0,0 +1,42 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain0
servicePath
sslPath
sopsPath
;
label = "Ollama";
name = "ollama";
domain = "${name}.${domain0}";
in
{
label = label;
name = name;
short = label;
sops = {
path0 = "${sopsPath}/${name}";
};
domains = {
url0 = domain;
};
subdomain = name;
tags = [
name
"chat"
"ai"
];
paths = {
path0 = "${servicePath}/${label}";
path1 = "/mnt/media/storage/${name}";
};
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";
};
}

View file

@ -0,0 +1,44 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain0
servicePath
sslPath
sopsPath
;
label = "OpenCloud";
name = "opencloud";
subdomain = "cloud";
domain = "${subdomain}.${domain0}";
in
{
label = label;
name = name;
short = "Cloud";
email = {
address0 = "noreply@${domain0}";
};
sops = {
path0 = "${sopsPath}/${name}";
};
domains = {
url0 = domain;
};
subdomain = subdomain;
tags = [
name
"opencloud"
"cloud"
];
paths = {
path0 = "${servicePath}/${label}";
};
ports = {
port0 = 9200;
};
ssl = {
cert = "${sslPath}/${subdomain}.${domain0}/fullchain.pem";
key = "${sslPath}/${subdomain}.${domain0}/key.pem";
};
}

View file

@ -0,0 +1,41 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain1
servicePath
sslPath
sopsPath
;
label = "Owncast";
name = "owncast";
subdomain = "stream";
domain = "${subdomain}.${domain1}";
in
{
label = label;
name = name;
short = "Cast";
sops = {
path0 = "${sopsPath}/${name}";
};
domains = {
url0 = domain;
};
subdomain = subdomain;
tags = [
];
paths = {
path0 = "${servicePath}/${label}";
path1 = "/mnt/media/storage/${name}";
};
ports = {
port0 = 9454;
port1 = 1935;
};
ssl = {
cert = "${sslPath}/${subdomain}.${domain1}/fullchain.pem";
key = "${sslPath}/${subdomain}.${domain1}/key.pem";
};
}

View file

@ -0,0 +1,46 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain3
servicePath
sslPath
sopsPath
;
label = "PeerTube";
name = "peertube";
subdomain = "video";
domain = "${subdomain}.${domain3}";
in
{
label = label;
name = name;
short = "Peer";
email = {
address0 = "noreply@${domain3}";
};
sops = {
path0 = "${sopsPath}/${name}";
};
domains = {
url0 = domain;
};
subdomain = subdomain;
tags = [
];
paths = {
path0 = "${servicePath}/${label}";
};
ports = {
port0 = 9000; # HTTP
port1 = 1935;
port2 = 1936;
port3 = 5432;
port4 = 52800;
};
ssl = {
cert = "${sslPath}/${subdomain}.${domain3}/fullchain.pem";
key = "${sslPath}/${subdomain}.${domain3}/key.pem";
};
}

View file

@ -0,0 +1,31 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain3
servicePath
sslPath
sopsPath
;
label = "Postfix";
name = "postfix";
domain = "${name}.${domain3}";
in
{
label = label;
name = name;
sops = {
path0 = "${sopsPath}/${name}";
};
domains = {
url0 = domain;
};
subdomain = name;
paths = {
path0 = "${servicePath}/${label}";
};
ssl = {
cert = "${sslPath}/${domain3}/fullchain.pem";
key = "${sslPath}/${domain3}/key.pem";
};
}

View file

@ -0,0 +1,23 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
servicePath
sopsPath
;
label = "PostgreSQL";
name = "postgres";
in
{
label = label;
name = name;
sops = {
path0 = "${sopsPath}/${name}";
};
paths = {
path0 = "${servicePath}/${label}";
};
ports = {
port0 = 5432;
};
}

View file

@ -0,0 +1,32 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain3
sslPath
sopsPath
;
label = "projectSite";
name = "projectsite";
in
{
label = label;
name = name;
short = "Project";
sops = {
path0 = "${sopsPath}/${name}";
};
tags = [
"project"
];
paths = {
path0 = "/var/lib/projectsite/dist";
};
ports = {
port0 = 1334;
};
ssl = {
cert = sslPath;
key = sslPath;
};
}

View file

@ -0,0 +1,41 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain0
sslPath
sopsPath
;
label = "Prompter";
name = "prompter";
subdomain = "prompter";
domain = "${subdomain}.${domain0}";
in
{
label = label;
name = name;
short = "upRoot";
sops = {
path0 = "${sopsPath}/${name}";
};
domains = {
url0 = domain;
};
subdomain = subdomain;
tags = [
name
"blog"
];
paths = {
path0 = "/var/lib/${name}/dist";
path1 = "";
path2 = "";
};
ports = {
port0 = 1234;
};
ssl = {
cert = "${sslPath}/${domain0}/fullchain.pem";
key = "${sslPath}/${domain0}/key.pem";
};
}

View file

@ -0,0 +1,21 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
sopsPath
;
label = "Samba";
name = "samba";
in
{
label = label;
name = name;
sops = {
path0 = "${sopsPath}/${name}";
};
paths = {
};
ports = {
port0 = 445; # Samba
};
}

View file

@ -0,0 +1,44 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain0
servicePath
sslPath
sopsPath
;
label = "SearXNG";
name = "searx";
subdomain = "search";
domain = "${subdomain}.${domain0}";
in
{
label = label;
name = name;
short = "Sear";
email = {
address0 = "noreply@${domain0}";
};
sops = {
path0 = "${sopsPath}/${name}";
};
domains = {
url0 = domain;
};
subdomain = subdomain;
tags = [
"search"
"sear"
"searx"
];
paths = {
path0 = "${servicePath}/${label}";
};
ports = {
port0 = 8888;
};
ssl = {
cert = "${sslPath}/${subdomain}.${domain0}/fullchain.pem";
key = "${sslPath}/${subdomain}.${domain0}/key.pem";
};
}

View file

@ -0,0 +1,13 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
dummy
;
in
{
hostname = "mail.smtp2go.com";
name = dummy;
ports = {
port0 = 2525;
};
}

View file

@ -0,0 +1,40 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain0
sslPath
sopsPath
synologyName
;
label = "Syncthing";
name = "syncthing";
domain = "${name}.${domain0}";
in
{
label = label;
name = name;
short = "Sync";
sops = {
path0 = "${sopsPath}/${name}";
};
domains = {
url0 = domain;
};
subdomain = name;
tags = [
name
synologyName
"sync"
"thing"
];
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";
};
}

View file

@ -0,0 +1,26 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
sopsPath
synologyName
;
label = "Synology";
name = synologyName;
in
{
label = label;
name = name;
short = "Nas";
tags = [
name
"dsm"
"cloud"
];
sops = {
path0 = "${sopsPath}/${name}";
};
ports = {
port0 = 5001; # Synology HTTPS
};
}

View file

@ -0,0 +1,41 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain3
sslPath
sopsPath
;
label = "upRootNutrition";
name = "uprootnutrition";
in
{
label = label;
name = name;
short = "upRoot";
email = {
address0 = "nick@${domain3}";
};
sops = {
path0 = "${sopsPath}/${name}";
};
domains = {
url0 = domain3;
};
tags = [
name
"blog"
];
paths = {
path0 = "/var/lib/website/dist";
path1 = "";
path2 = "";
};
ports = {
port0 = 1234;
};
ssl = {
cert = "${sslPath}/${domain3}/fullchain.pem";
key = "${sslPath}/${domain3}/key.pem";
};
}

View file

@ -0,0 +1,45 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain0
servicePath
sslPath
sopsPath
;
label = "Vaultwarden";
name = "vaultwarden";
domain = "${name}.${domain0}";
in
{
label = label;
name = name;
short = "Vault";
email = {
address0 = "noreply@${name}.${domain0}";
};
sops = {
path0 = "${sopsPath}/${name}";
};
domains = {
url0 = domain;
};
subdomain = name;
tags = [
name
"bitwarden"
"vault"
"bit"
"warden"
];
paths = {
path0 = "${servicePath}/${label}/BackupDir";
};
ports = {
port0 = 8085; # Vaultwarden WebUI
};
ssl = {
cert = "${sslPath}/${name}.${domain0}/fullchain.pem";
key = "${sslPath}/${name}.${domain0}/key.pem";
};
}

View file

@ -0,0 +1,42 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
domain0
domain1
domain2
domain3
;
label = "Router";
in
{
label = label;
name = "router";
short = label;
domains = {
url0 = domain0;
url1 = domain1;
url2 = domain2;
url3 = domain3;
};
dns = {
provider0 = "namecheap";
provider1 = "cloudflare";
};
tags = [
"router"
"asus"
];
localhost = {
address0 = "127.0.0.1"; # Local
address1 = "0.0.0.0"; # All
address2 = "192.168.50.1"; # Router
address3 = "192.168.50.0"; # Router
address4 = "192.168.1.0"; # Router
};
remotehost = {
address0 = "24.76.173.0";
};
wireguard = {
interface0 = "10.100.0.1";
};
}

View file

@ -0,0 +1,20 @@
{ moduleFunctions }:
let
inherit (moduleFunctions.instancesFunctions)
sopsPath
;
label = "WireGuard";
name = "wireguard";
in
{
label = label;
name = name;
sops = {
path0 = "${sopsPath}/${name}";
};
ports = {
port0 = 53;
port1 = 51821;
};
}