File with parameters. Hosts, domains, more in the future
This commit is contained in:
parent
8926e6e565
commit
490b30f436
5 changed files with 47 additions and 42 deletions
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
{ inputs, ... }:
|
{ inputs, ... }:
|
||||||
let
|
let
|
||||||
hosts = import ./hosts.nix;
|
p = import ./parameters.nix;
|
||||||
|
hosts = p.hosts;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
||||||
|
|
@ -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
17
hosts/parameters.nix
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue