{ config, pkgs, modulesPath, lib, system, ... }: { config = { sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; sops.defaultSopsFile = ../../secrets/rproxy-2.yaml; sops.secrets."caddy/env" = { owner = "caddy"; restartUnits = [ "caddy.service" ]; }; networking.hostName = "rproxy-2"; networking.firewall.allowedTCPPorts = [ 80 443 ]; services.caddy = { enable = true; package = pkgs.caddy.withPlugins { plugins = [ "github.com/caddy-dns/namecheap@v1.0.0" ]; hash = "sha256-G+iBYwqKNB0kyQ060R9J2brbwsRl/WgvB6Tkc6MC5yU="; }; environmentFile = config.sops.secrets."caddy/env".path; # Test config only # virtualHosts."rproxy2.kumardamani.net:80".extraConfig = '' # respond "Hello, world! {$NAMECHEAP_API_USER}" # tls internal # ''; virtualHosts."lidarr.kumardamani.net:443".extraConfig = '' reverse_proxy med-dl:8686 tls { dns namecheap { api_key {$NAMECHEAP_API_KEY} user {$NAMECHEAP_API_USER} } } ''; virtualHosts."radarr.kumardamani.net:443".extraConfig = '' reverse_proxy med-dl:7878 tls { dns namecheap { api_key {$NAMECHEAP_API_KEY} user {$NAMECHEAP_API_USER} } } ''; virtualHosts."sonarr.kumardamani.net:443".extraConfig = '' reverse_proxy med-dl:8989 tls { dns namecheap { api_key {$NAMECHEAP_API_KEY} user {$NAMECHEAP_API_USER} } } ''; virtualHosts."namemydragon.lol:443".extraConfig = '' reverse_proxy sites:84 tls { dns namecheap { api_key {$NAMECHEAP_API_KEY} user {$NAMECHEAP_API_USER} } } ''; virtualHosts."www.namemydragon.lol:443".extraConfig = '' reverse_proxy sites:84 tls { dns namecheap { api_key {$NAMECHEAP_API_KEY} user {$NAMECHEAP_API_USER} } } ''; virtualHosts."metrics2.kumardamani.net:443".extraConfig = '' reverse_proxy monitoring:9090 tls { dns namecheap { api_key {$NAMECHEAP_API_KEY} user {$NAMECHEAP_API_USER} } } ''; virtualHosts."torrents.kumardamani.net:443".extraConfig = '' reverse_proxy torrents:9091 tls { dns namecheap { api_key {$NAMECHEAP_API_KEY} user {$NAMECHEAP_API_USER} } } ''; virtualHosts."vault.kumardamani.net:443".extraConfig = '' reverse_proxy vault:8989 tls { dns namecheap { api_key {$NAMECHEAP_API_KEY} user {$NAMECHEAP_API_USER} } } ''; virtualHosts."nc.kumardamani.net:443".extraConfig = '' reverse_proxy nc-kumar:11000 tls { dns namecheap { api_key {$NAMECHEAP_API_KEY} user {$NAMECHEAP_API_USER} } } ''; virtualHosts."kumardamani.net:443".extraConfig = '' reverse_proxy sites:83 tls { dns namecheap { api_key {$NAMECHEAP_API_KEY} user {$NAMECHEAP_API_USER} } } ''; virtualHosts."www.kumardamani.net:443".extraConfig = '' reverse_proxy sites:83 tls { dns namecheap { api_key {$NAMECHEAP_API_KEY} user {$NAMECHEAP_API_USER} } } ''; virtualHosts."damanistuff.net:443".extraConfig = '' reverse_proxy sites:82 tls { dns namecheap { api_key {$NAMECHEAP_API_KEY} user {$NAMECHEAP_API_USER} } } ''; virtualHosts."www.damanistuff.net:443".extraConfig = '' reverse_proxy sites:82 tls { dns namecheap { api_key {$NAMECHEAP_API_KEY} user {$NAMECHEAP_API_USER} } } ''; virtualHosts."kavisjourneys.com".extraConfig = '' reverse_proxy sites:81 tls { dns namecheap { api_key {$NAMECHEAP_API_KEY} user {$NAMECHEAP_API_USER} } } ''; virtualHosts."www.kavisjourneys.com".extraConfig = '' reverse_proxy sites:81 tls { dns namecheap { api_key {$NAMECHEAP_API_KEY} user {$NAMECHEAP_API_USER} } } ''; virtualHosts."*.min.kumardamani.net".extraConfig = '' reverse_proxy minio:9000 tls { dns namecheap { api_key {$NAMECHEAP_API_KEY} user {$NAMECHEAP_API_USER} } } ''; }; }; }