diff options
| author | Kumar Damani <me@kumardamani.net> | 2026-07-01 04:09:21 +0000 |
|---|---|---|
| committer | Kumar Damani <me@kumardamani.net> | 2026-07-01 04:12:25 +0000 |
| commit | 02926f70770ceb90cf382da2b54f888ba969f423 (patch) | |
| tree | 0a7cc1fc1c68ae91ae49070bea5cd3708b875819 /nix/per-host/rproxy-2 | |
| parent | bc1ad567d2eac46088285ed7d2d688fffc91a82f (diff) | |
nix based config
Diffstat (limited to 'nix/per-host/rproxy-2')
| -rw-r--r-- | nix/per-host/rproxy-2/configuration.nix | 190 |
1 files changed, 190 insertions, 0 deletions
diff --git a/nix/per-host/rproxy-2/configuration.nix b/nix/per-host/rproxy-2/configuration.nix new file mode 100644 index 0000000..d1580e8 --- /dev/null +++ b/nix/per-host/rproxy-2/configuration.nix @@ -0,0 +1,190 @@ +{ 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} + } + } + ''; + }; + }; +} |
