dotfiles/modules/nixos/services/caddy/caddyCeres/default.nix

50 lines
1.2 KiB
Nix
Raw Normal View History

2025-10-01 19:51:55 -05:00
{ flake, ... }:
let
2025-10-25 05:16:26 -05:00
inherit (flake.config.services) instances;
inherit (flake.config.machines) devices;
2025-10-25 05:16:26 -05:00
domain0 = instances.web.domains.url0;
service = instances.caddy;
nextcloud = instances.nextcloud;
opencloud = instances.opencloud;
2025-10-01 19:51:55 -05:00
in
{
services.caddy = {
enable = true;
virtualHosts = {
"${domain0}" = {
extraConfig = ''
tls /var/lib/acme/${domain0}/fullchain.pem /var/lib/acme/${domain0}/key.pem
encode zstd gzip
'';
};
2025-10-25 05:16:26 -05:00
"${nextcloud.domains.url0}" = {
extraConfig = ''
reverse_proxy http://${devices.eris.ip.address0}:${builtins.toString service.ports.port3}
tls ${nextcloud.ssl.cert} ${nextcloud.ssl.key}
'';
};
"${opencloud.domains.url0}" = {
extraConfig = ''
reverse_proxy http://${devices.eris.ip.address0}:${builtins.toString service.ports.port4}
tls ${opencloud.ssl.cert} ${opencloud.ssl.key}
'';
};
2025-10-01 19:51:55 -05:00
};
};
users.users.${service.name}.extraGroups = [
"acme"
"mastodon"
2025-10-09 05:23:12 -05:00
"firefly-iii"
2025-10-01 19:51:55 -05:00
];
networking = {
firewall = {
allowedTCPPorts = [
service.ports.port0
service.ports.port1
];
};
};
}