summaryrefslogtreecommitdiff
path: root/os/kay/modules
diff options
context:
space:
mode:
Diffstat (limited to 'os/kay/modules')
-rw-r--r--os/kay/modules/acme.nix31
-rw-r--r--os/kay/modules/www.nix20
2 files changed, 44 insertions, 7 deletions
diff --git a/os/kay/modules/acme.nix b/os/kay/modules/acme.nix
index 00819e7..86ae165 100644
--- a/os/kay/modules/acme.nix
+++ b/os/kay/modules/acme.nix
@@ -2,22 +2,39 @@
email = config.global.userdata.email;
domain = config.global.userdata.domain;
+ domain_angelo = "angeloantony.com";
+ secret_path_angelo = "misc/angelo_cloudflare_dns_api_token";
+
environmentFile =
pkgs.writeText "acme-dns" "RFC2136_NAMESERVER='[2001:470:ee65::1]:53'";
in {
+ sops.secrets.${secret_path_angelo} = {};
+
security.acme = {
acceptTerms = true;
defaults.email = email;
- certs.${domain} = {
- inherit domain;
- extraDomainNames = [ "*.${domain}" ];
+ certs = {
+ ${domain_angelo} = {
+ domain = domain_angelo;
+ extraDomainNames = [ "*.${domain_angelo}" ];
+
+ dnsProvider = "cloudflare";
+ credentialFiles.CLOUDFLARE_DNS_API_TOKEN_FILE = config.sops.secrets.${secret_path_angelo}.path;
+
+ group = config.services.nginx.group;
+ };
+
+ ${domain} = {
+ inherit domain;
+ extraDomainNames = [ "*.${domain}" ];
- dnsProvider = "rfc2136";
- dnsPropagationCheck = false; # local DNS server
+ dnsProvider = "rfc2136";
+ dnsPropagationCheck = false; # local DNS server
- inherit environmentFile;
- group = config.services.nginx.group;
+ inherit environmentFile;
+ group = config.services.nginx.group;
+ };
};
};
}
diff --git a/os/kay/modules/www.nix b/os/kay/modules/www.nix
index 2ab70aa..3903396 100644
--- a/os/kay/modules/www.nix
+++ b/os/kay/modules/www.nix
@@ -2,6 +2,10 @@
let
domain = config.global.userdata.domain;
+
+ domain_angelo = "angeloantony.com";
+ ip_angelo = "10.0.1.6";
+
storage = "/hdd/users/sftp/shr";
in
{
@@ -94,6 +98,22 @@ in
};
};
+ ".${domain_angelo}" = defaultOpts // {
+ useACMEHost = domain_angelo;
+
+ extraConfig = ''
+ proxy_buffering off;
+ proxy_request_buffering off;
+ client_max_body_size 0;
+ '';
+
+ locations."/" = {
+ proxyWebsockets = true;
+ proxyPass =
+ "http://${ip_angelo}";
+ };
+ };
+
"${config.services.grafana.settings.server.domain}" = defaultOpts // {
extraConfig = ''
proxy_buffering off;