86 lines
1.9 KiB
Nix
86 lines
1.9 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}: {
|
|
services.caddy = {
|
|
enable = true;
|
|
environmentFile = "/run/secrets/caddy.env";
|
|
package = pkgs.caddy.withPlugins {
|
|
plugins = ["github.com/caddy-dns/cloudflare@v0.2.4"];
|
|
hash = "sha256-7GoH8YLCoPmPExQxoga2FHB58zQDoZVf1BBwkVi0SsQ=";
|
|
};
|
|
globalConfig = ''
|
|
email {$EMAIL}
|
|
acme_dns cloudflare {$CLOUDFLARE} {
|
|
resolvers 1.1.1.1:53 1.0.0.1:53
|
|
}
|
|
'';
|
|
# Public
|
|
virtualHosts = {
|
|
"nicknase27.com" = {
|
|
extraConfig = ''
|
|
respond "Blank" 200
|
|
'';
|
|
};
|
|
"nv.nicknase27.com" = {
|
|
extraConfig = ''
|
|
reverse_proxy localhost:4533
|
|
'';
|
|
serverAliases = ["music.nicknase27.com"];
|
|
};
|
|
"vt.nicknase27.com" = {
|
|
extraConfig = ''
|
|
reverse_proxy localhost:8222
|
|
'';
|
|
serverAliases = ["vault.nicknase27.com"];
|
|
};
|
|
"git.nicknase27.com" = {
|
|
extraConfig = ''
|
|
reverse_proxy localhost:3000
|
|
'';
|
|
};
|
|
"jf.nicknase27.com" = {
|
|
extraConfig = ''
|
|
reverse_proxy 10.0.0.5:8096
|
|
'';
|
|
serverAliases = ["watch.nicknase27.com"];
|
|
};
|
|
|
|
# Local
|
|
"opn.nicknase27.com" = {
|
|
extraConfig = ''
|
|
reverse_proxy 10.0.0.1:80
|
|
'';
|
|
};
|
|
"ui.nicknase27.com" = {
|
|
extraConfig = ''
|
|
reverse_proxy https://localhost:11443 {
|
|
transport http {
|
|
tls_insecure_skip_verify
|
|
}
|
|
|
|
}
|
|
|
|
'';
|
|
};
|
|
"storage.nicknase27.com" = {
|
|
extraConfig = ''
|
|
reverse_proxy 10.0.0.5:80
|
|
'';
|
|
};
|
|
"photos.nicknase27.com" = {
|
|
extraConfig = ''
|
|
reverse_proxy 10.0.0.5:2283
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
|
|
age.secrets.caddy = {
|
|
file = ../../secrets/caddy.age;
|
|
path = "/run/secrets/caddy.env";
|
|
};
|
|
}
|