140 lines
3.3 KiB
Nix
140 lines
3.3 KiB
Nix
{ lib, config, ... }:
|
|
|
|
{
|
|
traefik = {
|
|
rule = "Host(`traefik.procopius.dk`)";
|
|
service = "traefik";
|
|
entryPoints = [ "websecure" ];
|
|
middlewares = [ "internal-whitelist" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
proxmox = {
|
|
rule = "Host(`proxmox.procopius.dk`)";
|
|
service = "proxmox";
|
|
entryPoints = [ "websecure" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
forgejo = {
|
|
rule = "Host(`git.procopius.dk`)";
|
|
service = "forgejo";
|
|
entryPoints = [ "websecure" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
prometheus = {
|
|
rule = "Host(`prometheus.procopius.dk`)";
|
|
service = "prometheus";
|
|
entryPoints = [ "websecure" ];
|
|
middlewares = [ "internal-whitelist" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
grafana = {
|
|
rule = "Host(`grafana.procopius.dk`)";
|
|
service = "grafana";
|
|
entryPoints = [ "websecure" ];
|
|
middlewares = [ "internal-whitelist" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
alertmanager = {
|
|
rule = "Host(`alertmanager.procopius.dk`)";
|
|
service = "alertmanager";
|
|
entryPoints = [ "websecure" ];
|
|
middlewares = [ "internal-whitelist" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
jellyfin = {
|
|
rule = "Host(`jellyfin.procopius.dk`)";
|
|
service = "jellyfin";
|
|
entryPoints = [ "websecure" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
sonarr = {
|
|
rule = "Host(`sonarr.procopius.dk`)";
|
|
service = "sonarr";
|
|
entryPoints = [ "websecure" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
radarr = {
|
|
rule = "Host(`radarr.procopius.dk`)";
|
|
service = "radarr";
|
|
entryPoints = [ "websecure" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
ente = {
|
|
rule = "Host(`ente.procopius.dk`)";
|
|
service = "ente";
|
|
entryPoints = [ "websecure" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
photos = {
|
|
rule = "Host(`photos.procopius.dk`)";
|
|
service = "photos";
|
|
entryPoints = [ "websecure" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
minio = {
|
|
rule = "Host(`minio.procopius.dk`)";
|
|
service = "minio";
|
|
entryPoints = [ "websecure" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
minio-api = {
|
|
rule = "Host(`minio-api.procopius.dk`)";
|
|
service = "minio-api";
|
|
entryPoints = [ "websecure" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
account = {
|
|
rule = "Host(`account.procopius.dk`)";
|
|
service = "account";
|
|
entryPoints = [ "websecure" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
auth = {
|
|
rule = "Host(`auth.procopius.dk`)";
|
|
service = "auth";
|
|
entryPoints = [ "websecure" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
nas = {
|
|
rule = "Host(`nas.procopius.dk`)";
|
|
service = "nas";
|
|
entryPoints = [ "websecure" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
umami = {
|
|
rule = "Host(`umami.procopius.dk`)";
|
|
service = "umami";
|
|
entryPoints = [ "websecure" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
mesterjakob = {
|
|
rule = "Host(`mester.jakobblum.dk`)";
|
|
service = "mesterjakob";
|
|
entryPoints = [ "websecure" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
|
|
catchAll = {
|
|
rule = "HostRegexp(`.+`)";
|
|
service = "nginx";
|
|
entryPoints = [ "websecure" ];
|
|
tls = { certResolver = "letsencrypt"; };
|
|
};
|
|
}
|