File with parameters. Hosts, domains, more in the future

This commit is contained in:
= 2025-02-04 21:23:58 +01:00
parent 8926e6e565
commit 490b30f436
5 changed files with 47 additions and 42 deletions

View file

@ -5,6 +5,9 @@
imports, imports,
... ...
}: }:
let
p = import ../parameters.nix;
in
{ {
age.secrets.authentik-env.file = ../../secrets/authentik-env.age; age.secrets.authentik-env.file = ../../secrets/authentik-env.age;
@ -26,7 +29,7 @@
use_ssl = false; use_ssl = false;
from = "auth@pazpi.top"; from = "auth@pazpi.top";
}; };
proxy.domain = "tegola.pro"; proxy.domain = p.domains.public;
}; };
virtualisation.proxmox.enable = true; virtualisation.proxmox.enable = true;
}; };

View file

@ -7,10 +7,8 @@
}: }:
let let
tailscaleMagicDNS = "neon-dory.ts.net"; tailscaleMagicDNS = "neon-dory.ts.net";
publicDomain = "pasetto.me";
tsDomain = "tegola.pro";
email = "pasettodavide@gmail.com"; email = "pasettodavide@gmail.com";
hosts = import ../hosts.nix; p = import ../parameters.nix;
in in
{ {
@ -41,13 +39,10 @@ in
services = { services = {
authentik = { authentik.proxy = {
enable = true; enable = true;
proxy = { domain = p.domains.public;
enable = true; host = p.hosts.authentik;
domain = tsDomain;
host = hosts.authentik;
};
}; };
dashy = { dashy = {
@ -55,24 +50,24 @@ in
settings = import ./dashy-settings.nix; settings = import ./dashy-settings.nix;
proxy = { proxy = {
enable = true; enable = true;
domain = publicDomain; domain = p.domains.public;
host = hosts.caddy; host = p.hosts.caddy;
}; };
}; };
media-mgr = { media-mgr = {
proxy = { proxy = {
enable = true; enable = true;
domain = tsDomain; domain = p.domains.ts;
host = hosts.arr; host = p.hosts.arr;
}; };
}; };
nextcloud = { nextcloud = {
proxy = { proxy = {
enable = true; enable = true;
domain = publicDomain; domain = p.domains.public;
host = hosts.nextcloud; host = p.hosts.nextcloud;
}; };
}; };
@ -80,19 +75,19 @@ in
enable = true; enable = true;
secretFile = config.age.secrets.searx-secret.path; secretFile = config.age.secrets.searx-secret.path;
enableAI = true; enableAI = true;
perplexicaUrl = hosts.portainer; perplexicaUrl = p.hosts.portainer;
proxy = { proxy = {
enable = true; enable = true;
domain = tsDomain; domain = p.domains.ts;
host = hosts.caddy; host = p.hosts.caddy;
}; };
}; };
vaultwarden = { vaultwarden = {
proxy = { proxy = {
enable = true; enable = true;
domain = publicDomain; domain = p.domains.public;
host = hosts.vaultwarden; host = p.hosts.vaultwarden;
}; };
}; };
@ -102,16 +97,16 @@ in
prometheus = { prometheus = {
proxy = { proxy = {
enable = true; enable = true;
domain = tsDomain; domain = p.domains.ts;
host = hosts.metrics; host = p.hosts.metrics;
}; };
}; };
grafana = { grafana = {
proxy = { proxy = {
enable = true; enable = true;
domain = tsDomain; domain = p.domains.ts;
host = hosts.metrics; host = p.hosts.metrics;
}; };
}; };
}; };
@ -128,19 +123,19 @@ in
configEnvFile = config.age.secrets.cloudflare-pasetto-apiKey.path; configEnvFile = config.age.secrets.cloudflare-pasetto-apiKey.path;
domainsList = [ domainsList = [
{ {
domain = tsDomain; domain = p.domains.ts;
email = email; email = email;
cloudflareApiKeyFile = config.age.secrets.cloudflare-tegola-apiKey.path; cloudflareApiKeyFile = config.age.secrets.cloudflare-tegola-apiKey.path;
} }
{ {
domain = publicDomain; domain = p.domains.public;
email = email; email = email;
cloudflareApiKeyFile = config.age.secrets.cloudflare-pasetto-apiKey.path; cloudflareApiKeyFile = config.age.secrets.cloudflare-pasetto-apiKey.path;
} }
]; ];
dynamicdnsDomains = [ dynamicdnsDomains = [
{ {
domain = publicDomain; domain = p.domains.public;
cloudflareApiEnvName = "CLOUDFLARE_API_TOKEN"; cloudflareApiEnvName = "CLOUDFLARE_API_TOKEN";
} }
]; ];
@ -149,7 +144,7 @@ in
{ {
subdomain = "h"; subdomain = "h";
host = "http://ha.internal:8123"; host = "http://ha.internal:8123";
domain = publicDomain; domain = p.domains.public;
} }
]; ];
@ -166,7 +161,7 @@ in
proxmox.enable = true; proxmox.enable = true;
portainer.proxy = { portainer.proxy = {
enable = true; enable = true;
domain = tsDomain; domain = p.domains.ts;
host = "portainer.internal"; host = "portainer.internal";
}; };
}; };

View file

@ -1,6 +1,7 @@
{ inputs, ... }: { inputs, ... }:
let let
hosts = import ./hosts.nix; p = import ./parameters.nix;
hosts = p.hosts;
in in
{ {
meta = { meta = {

View file

@ -1,11 +0,0 @@
{
authentik = "auth.internal";
arr = "arr.internal";
caddy = "caddy.internal";
metrics = "metrics.internal";
nextcloud = "nextcloud.internal";
vaultwarden = "vaultwarden.internal";
plex = "plex.internal";
portainer = "portainer.internal";
colmena = "colmena.internal";
}

17
hosts/parameters.nix Normal file
View file

@ -0,0 +1,17 @@
{
hosts = {
authentik = "auth.internal";
arr = "arr.internal";
caddy = "caddy.internal";
metrics = "metrics.internal";
nextcloud = "nextcloud.internal";
vaultwarden = "vaultwarden.internal";
plex = "plex.internal";
portainer = "portainer.internal";
colmena = "colmena.internal";
};
domains = {
public = "pasetto.me";
ts = "tegola.pro";
};
}