diff --git a/services/caddy/Caddyfile b/services/caddy/Caddyfile new file mode 100644 index 0000000..c35763c --- /dev/null +++ b/services/caddy/Caddyfile @@ -0,0 +1,51 @@ +{ + layer4 { + :222 { + @a ssh + route @a { + proxy 10.24.1.9:222 + } + } + :64738 { + route { + proxy 10.24.1.4:64738 + } + } + } +} + +https://collective-conciousness.monster { + encode zstd gzip + header { + Strict-Transport-Security "max-age=31536001; includeSubdomains; preload" + } + root * /var/www/public + file_server { + precompressed zstd br gzip + } +} + +https://git.collective-conciousness.monster { + reverse_proxy 10.24.1.9:3000 +} + +https://obs.collective-conciousness.monster { + reverse_proxy 10.24.1.4:5894 +} + +https://gts.collective-conciousness.monster { + # Optional, but recommended, compress the traffic using proper protocols + encode zstd gzip + + # The actual proxy configuration to port 8080 (unless you've chosen another port number) + reverse_proxy 127.0.0.1:8080 { + # Flush immediately, to prevent buffered response to the client + flush_interval -1 + } +} + +https://cache.collective-conciousness.monster { + encode zstd gzip + + reverse_proxy 10.24.1.4:5020 +} \ No newline at end of file diff --git a/services/caddy/caddy.nix b/services/caddy/caddy.nix new file mode 100644 index 0000000..2fc5522 --- /dev/null +++ b/services/caddy/caddy.nix @@ -0,0 +1,14 @@ +{ + aspartame.modules = [ + ( + { pkgs, lib, ... }: + { + services.caddy = { + enable = true; + package = pkgs.caddy-many; + configFile = ./Caddyfile; + }; + } + ) + ]; +}