flakes/modules/services/nginx.nix

44 lines
1 KiB
Nix
Raw Normal View History

2022-02-27 02:13:36 +07:00
{ config, inputs, ... }: {
networking.firewall.allowedTCPPorts = [ 80 443 ];
2022-02-27 02:13:36 +07:00
security.acme = {
acceptTerms = true;
email = "me@lava.moe";
certs."lava.moe" = {
group = "nginx";
domain = "lava.moe";
extraDomainNames = [
"*.lava.moe"
"*.local.lava.moe"
];
2022-02-27 02:13:36 +07:00
dnsProvider = "cloudflare";
credentialsFile = config.age.secrets."acme_dns".path;
};
};
services.nginx = {
enable = true;
recommendedTlsSettings = true;
recommendedOptimisation = true;
recommendedGzipSettings = true;
recommendedProxySettings = true;
virtualHosts = {
"lava.moe" = {
2022-02-27 02:13:36 +07:00
useACMEHost = "lava.moe";
forceSSL = true;
2022-02-14 18:34:46 +07:00
root = inputs.website.outPath;
};
"_" = {
default = true;
addSSL = true;
# TODO generate this somewhere
sslCertificate = "/persist/fakeCerts/fake.crt";
sslCertificateKey = "/persist/fakeCerts/fake.key";
extraConfig = ''
return 444;
'';
};
};
};
}