dotfiles/nixos/modules/services/caddy.nix
2024-11-04 20:49:43 -06:00

30 lines
602 B
Nix
Executable file

{flake, ...}: let
inherit (flake.config.services.instances) caddy web;
domain0 = web.domains.url0;
service = caddy;
in {
services.caddy = {
enable = true;
virtualHosts = {
"${domain0}" = {
extraConfig = ''
tls /var/lib/acme/${domain0}/fullchain.pem /var/lib/acme/${domain0}/key.pem
encode zstd gzip
'';
};
};
};
users.users.${service.name}.extraGroups = ["acme" "nextcloud" "mastodon"];
networking = {
firewall = {
allowedTCPPorts = [
service.ports.port0
service.ports.port1
];
};
};
}