# { caddy-with-plugins, ... }: { pkgs, config, inputs, ... }: { services.caddy = { enable = true; package = inputs.caddy-with-plugins.packages.${pkgs.system}.caddy-with-cloudflare; email = "erwin@datarift.nl"; virtualHosts = { "git.datarift.nl" = { extraConfig = '' @local { remote_ip 10.0.0.0/24 } handle @local { reverse_proxy 127.0.0.1:3000 } handle { error "Nope." 403 } tls { dns cloudflare {env.CF_API_TOKEN} } ''; }; }; }; networking.firewall.allowedTCPPorts = [ 80 443 ]; systemd.services.caddy.serviceConfig.EnvironmentFile = [ config.sops.secrets.caddy-env.path ]; }