infrastructure/nixos/cloudflared.nix
2025-08-29 18:54:09 -07:00

33 lines
835 B
Nix

{
config,
lib,
...
}: let
inherit (lib.modules) mkIf mkDefault;
cfg = config.services.cloudflared;
in {
config = {
services.cloudflared = {
enable = mkDefault true;
metricsPort = mkDefault 3011;
metricsBind = "[::]";
};
users = mkIf cfg.enable {
users.cloudflared = {
group = mkDefault "cloudflared";
isSystemUser = true;
};
groups.cloudflared = {};
};
networking.firewall = mkIf cfg.enable {
interfaces.lan.allowedTCPPorts = mkIf (cfg.metricsPort != null) [
cfg.metricsPort
];
};
boot.kernel.sysctl = mkIf (!config.boot.isContainer && cfg.enable) {
# https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes
"net.core.rmem_max" = mkDefault 2500000;
"net.core.wmem_max" = mkDefault 2500000;
};
};
}