mirror of
https://gitlab.com/upRootNutrition/dotfiles.git
synced 2025-12-08 13:59:24 -06:00
chore: init
This commit is contained in:
commit
1b2c1ea359
891 changed files with 37053 additions and 0 deletions
20
modules/config/instances/config/acme.nix
Executable file
20
modules/config/instances/config/acme.nix
Executable 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}";
|
||||
};
|
||||
}
|
||||
38
modules/config/instances/config/audiobookshelf.nix
Executable file
38
modules/config/instances/config/audiobookshelf.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
20
modules/config/instances/config/caddy.nix
Executable file
20
modules/config/instances/config/caddy.nix
Executable 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;
|
||||
};
|
||||
}
|
||||
41
modules/config/instances/config/comfyui.nix
Executable file
41
modules/config/instances/config/comfyui.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
44
modules/config/instances/config/forgejo.nix
Executable file
44
modules/config/instances/config/forgejo.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
45
modules/config/instances/config/glance.nix
Executable file
45
modules/config/instances/config/glance.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
45
modules/config/instances/config/jellyfin.nix
Executable file
45
modules/config/instances/config/jellyfin.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
43
modules/config/instances/config/mastodon.nix
Executable file
43
modules/config/instances/config/mastodon.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
27
modules/config/instances/config/matrix.nix
Executable file
27
modules/config/instances/config/matrix.nix
Executable 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 = "";
|
||||
};
|
||||
}
|
||||
30
modules/config/instances/config/minecraft.nix
Executable file
30
modules/config/instances/config/minecraft.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
44
modules/config/instances/config/nextcloud.nix
Executable file
44
modules/config/instances/config/nextcloud.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
19
modules/config/instances/config/nginx.nix
Executable file
19
modules/config/instances/config/nginx.nix
Executable 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;
|
||||
};
|
||||
}
|
||||
42
modules/config/instances/config/ollama.nix
Executable file
42
modules/config/instances/config/ollama.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
44
modules/config/instances/config/opencloud.nix
Executable file
44
modules/config/instances/config/opencloud.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
41
modules/config/instances/config/owncast.nix
Executable file
41
modules/config/instances/config/owncast.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
46
modules/config/instances/config/peertube.nix
Executable file
46
modules/config/instances/config/peertube.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
31
modules/config/instances/config/postfix.nix
Executable file
31
modules/config/instances/config/postfix.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
23
modules/config/instances/config/postgresql.nix
Executable file
23
modules/config/instances/config/postgresql.nix
Executable 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;
|
||||
};
|
||||
}
|
||||
32
modules/config/instances/config/projectSite.nix
Executable file
32
modules/config/instances/config/projectSite.nix
Executable 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;
|
||||
};
|
||||
}
|
||||
41
modules/config/instances/config/prompter.nix
Executable file
41
modules/config/instances/config/prompter.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
21
modules/config/instances/config/samba.nix
Executable file
21
modules/config/instances/config/samba.nix
Executable 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
|
||||
};
|
||||
}
|
||||
44
modules/config/instances/config/searx.nix
Executable file
44
modules/config/instances/config/searx.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
13
modules/config/instances/config/smtp.nix
Executable file
13
modules/config/instances/config/smtp.nix
Executable file
|
|
@ -0,0 +1,13 @@
|
|||
{ moduleFunctions }:
|
||||
let
|
||||
inherit (moduleFunctions.instancesFunctions)
|
||||
dummy
|
||||
;
|
||||
in
|
||||
{
|
||||
hostname = "mail.smtp2go.com";
|
||||
name = dummy;
|
||||
ports = {
|
||||
port0 = 2525;
|
||||
};
|
||||
}
|
||||
40
modules/config/instances/config/syncthing.nix
Executable file
40
modules/config/instances/config/syncthing.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
26
modules/config/instances/config/synology.nix
Executable file
26
modules/config/instances/config/synology.nix
Executable 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
|
||||
};
|
||||
}
|
||||
41
modules/config/instances/config/upRootNutrition.nix
Executable file
41
modules/config/instances/config/upRootNutrition.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
45
modules/config/instances/config/vaultwarden.nix
Executable file
45
modules/config/instances/config/vaultwarden.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
42
modules/config/instances/config/web.nix
Executable file
42
modules/config/instances/config/web.nix
Executable 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";
|
||||
};
|
||||
}
|
||||
20
modules/config/instances/config/wireGuard.nix
Executable file
20
modules/config/instances/config/wireGuard.nix
Executable 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;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue