From 98e6eac4ae7972788cbd7779a48fcc1f19269eda Mon Sep 17 00:00:00 2001 From: Sparky Date: Mon, 27 Oct 2025 23:16:18 +0000 Subject: [PATCH] Update --- .../proxy/caddy/config/caddy/autosave.json | 2 +- .../power-meter-reader.site.quack-lab.dev.crt | 49 +++++++++++++++++++ ...power-meter-reader.site.quack-lab.dev.json | 9 ++++ .../power-meter-reader.site.quack-lab.dev.key | 5 ++ coolify/proxy/caddy/dynamic/monitoring.caddy | 11 +++++ coolify/proxy/dynamic/Caddyfile | 3 -- monitoring/prometheus/config/prometheus.yml | 2 +- 7 files changed, 76 insertions(+), 5 deletions(-) create mode 100644 coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/power-meter-reader.site.quack-lab.dev/power-meter-reader.site.quack-lab.dev.crt create mode 100644 coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/power-meter-reader.site.quack-lab.dev/power-meter-reader.site.quack-lab.dev.json create mode 100644 coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/power-meter-reader.site.quack-lab.dev/power-meter-reader.site.quack-lab.dev.key diff --git a/coolify/proxy/caddy/config/caddy/autosave.json b/coolify/proxy/caddy/config/caddy/autosave.json index 84dc96e..f06a244 100644 --- a/coolify/proxy/caddy/config/caddy/autosave.json +++ b/coolify/proxy/caddy/config/caddy/autosave.json @@ -1 +1 @@ -{"apps":{"http":{"servers":{"srv0":{"listen":[":443"],"routes":[{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.51.3:8090"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pocketbase-youtube-seencounter.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.55.3:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pocketbase-youtube-timestamps.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group69","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"192.168.1.64:9646"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12"]}}]},{"group":"group69","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["libre-metrics-exporter-dave.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group71","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"192.168.1.68:9646"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12"]}}]},{"group":"group71","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["libre-metrics-exporter-jana.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.59.3:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pocketbase-shoppinglist.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group74","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"host.docker.internal:56546"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12"]}}]},{"group":"group74","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["nodeexporter-sparky.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.48.3:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pocketbase-autoclip.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.56.3:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pocketbase-scratch.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.66.2:9200"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["elasticsearch.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group79","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"host.docker.internal:43261"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12"]}}]},{"group":"group79","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["prometheus.site.quack-lab.dev","vmagent.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.31.3:80"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["authwarden.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group82","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"meili-web:24900"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group82","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["meili-web.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group84","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"portainer:9000"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group84","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["portainer.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.34.3:80"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["bitwarden.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.43.3:24900"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["meili-web.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.54.3:9000"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["portainer.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group89","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"host.docker.internal:8428"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12"]}}]},{"group":"group89","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["victoria.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group91","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"nsqd:4151"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group91","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["nsq.site.quack-lab.dev","nsq-http.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group93","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"nsqadmin:4171"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group93","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["nsqadmin.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.45.5:4151"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["nsq-http.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.45.4:4171"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["nsqadmin.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group97","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"grafana-jococcw004848ck4k0owwww0:43433"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12"]}}]},{"group":"group97","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["grafana.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group99","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"qbit:8080"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group99","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["torrent.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.65.2:80"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["adguard.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.35.3:8083"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["calibre.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.50.3:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["evebase.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.64.2:43433"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["grafana.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.61.6:2283"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["himmich.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.47.3:80"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pastefy.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.53.3:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["torrent.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.60.4:3000"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["zipline.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group109","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"actual_server:5006"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group109","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["actual.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group111","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"webtop:3000"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group111","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["webtop.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.29.3:5006"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["actual.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.36.3:5000"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["docker.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.41.6:2283"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["immich.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.66.3:5601"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["kibana.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.67.2:3000"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["webtop.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group118","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"grist:8484"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group118","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["grist.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group120","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"meilisearch:7700"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group120","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["meili.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.37.3:3923"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["files.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"handler":"authentication","providers":{"http_basic":{"accounts":[{"password":"$2a$14$Sn2smnUNWQazfUQL.OtW/urEng2YWtAR4iUcahkmKoWCog9lRgMOy","username":"dave"}],"hash":{"algorithm":"bcrypt"},"hash_cache":{}}}},{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.39.3:8484"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["grist.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.44.3:8096"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["jelly.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.40.3:7700"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["meili.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.63.7:80"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["zulip.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.52.3:8384"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["sync.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group128","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"stirling-pdf:8080"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group128","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["pdf.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.38.4:3000"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["git.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.46.4:5678"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["n8n.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.45.5:4151"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["nsq.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.49.2:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pdf.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"static_response","status_code":503}]}]}],"terminal":true}]},"srv1":{"listen":[":80"],"routes":[{"handle":[{"handler":"static_response","status_code":503}]}]}}}},"logging":{"logs":{"default":{"level":"DEBUG"}}}} \ No newline at end of file +{"apps":{"http":{"servers":{"srv0":{"listen":[":443"],"routes":[{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.51.3:8090"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pocketbase-youtube-seencounter.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.55.3:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pocketbase-youtube-timestamps.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group71","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"192.168.1.64:9646"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12"]}}]},{"group":"group71","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["libre-metrics-exporter-dave.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group73","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"192.168.1.68:9646"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12"]}}]},{"group":"group73","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["libre-metrics-exporter-jana.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.59.3:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pocketbase-shoppinglist.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group76","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"host.docker.internal:56546"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12"]}}]},{"group":"group76","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["nodeexporter-sparky.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.48.3:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pocketbase-autoclip.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group79","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"host.docker.internal:9646"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12"]}}]},{"group":"group79","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["power-meter-reader.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.56.3:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pocketbase-scratch.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.66.2:9200"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["elasticsearch.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group83","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"host.docker.internal:43261"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12"]}}]},{"group":"group83","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["prometheus.site.quack-lab.dev","vmagent.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.31.3:80"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["authwarden.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group86","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"meili-web:24900"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group86","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["meili-web.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group88","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"portainer:9000"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group88","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["portainer.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.34.3:80"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["bitwarden.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.43.3:24900"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["meili-web.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.54.3:9000"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["portainer.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group93","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"host.docker.internal:8428"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12"]}}]},{"group":"group93","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["victoria.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group95","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"nsqd:4151"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group95","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["nsq.site.quack-lab.dev","nsq-http.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group97","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"nsqadmin:4171"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group97","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["nsqadmin.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.45.5:4151"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["nsq-http.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.45.4:4171"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["nsqadmin.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group101","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"grafana-jococcw004848ck4k0owwww0:43433"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12"]}}]},{"group":"group101","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["grafana.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group103","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"qbit:8080"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group103","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["torrent.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.65.2:80"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["adguard.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.35.3:8083"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["calibre.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.50.3:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["evebase.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.64.2:43433"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["grafana.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.61.6:2283"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["himmich.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.47.3:80"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pastefy.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.53.3:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["torrent.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.60.4:3000"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["zipline.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group113","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"actual_server:5006"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group113","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["actual.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group115","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"webtop:3000"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group115","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["webtop.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.29.3:5006"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["actual.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.36.3:5000"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["docker.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.41.6:2283"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["immich.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.66.3:5601"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["kibana.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.67.2:3000"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["webtop.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group122","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"grist:8484"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group122","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["grist.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group124","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"meilisearch:7700"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group124","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["meili.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.37.3:3923"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["files.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"handler":"authentication","providers":{"http_basic":{"accounts":[{"password":"$2a$14$Sn2smnUNWQazfUQL.OtW/urEng2YWtAR4iUcahkmKoWCog9lRgMOy","username":"dave"}],"hash":{"algorithm":"bcrypt"},"hash_cache":{}}}},{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.39.3:8484"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["grist.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.44.3:8096"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["jelly.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.40.3:7700"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["meili.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.63.7:80"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["zulip.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.52.3:8384"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["sync.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group132","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"stirling-pdf:8080"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.1.0/24","127.0.0.1"]}}]},{"group":"group132","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["pdf.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.38.4:3000"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["git.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.46.4:5678"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["n8n.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.45.5:4151"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["nsq.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.49.2:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pdf.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"static_response","status_code":503}]}]}],"terminal":true}]},"srv1":{"listen":[":80"],"routes":[{"handle":[{"handler":"static_response","status_code":503}]}]}}}},"logging":{"logs":{"default":{"level":"DEBUG"}}}} \ No newline at end of file diff --git a/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/power-meter-reader.site.quack-lab.dev/power-meter-reader.site.quack-lab.dev.crt b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/power-meter-reader.site.quack-lab.dev/power-meter-reader.site.quack-lab.dev.crt new file mode 100644 index 0000000..d6761e7 --- /dev/null +++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/power-meter-reader.site.quack-lab.dev/power-meter-reader.site.quack-lab.dev.crt @@ -0,0 +1,49 @@ +-----BEGIN CERTIFICATE----- +MIIDuTCCAz6gAwIBAgISBoDTu+pITL4Yo73Nt1cQwqYuMAoGCCqGSM49BAMDMDIx +CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF +ODAeFw0yNTEwMjcyMjE1NThaFw0yNjAxMjUyMjE1NTdaMDAxLjAsBgNVBAMTJXBv +d2VyLW1ldGVyLXJlYWRlci5zaXRlLnF1YWNrLWxhYi5kZXYwWTATBgcqhkjOPQIB +BggqhkjOPQMBBwNCAAQVja8SiglTcfMHnKsbZDDlOkPFdH2TTZ+pqFlpodAPOjPV +SPn4FNigFQ4kd1rW9XD8dniEE7/HyNBsIKZNqD9ao4ICNDCCAjAwDgYDVR0PAQH/ +BAQDAgeAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8E +AjAAMB0GA1UdDgQWBBS0xnmaD6dUuwlLlsB8hQ3Q92rs3jAfBgNVHSMEGDAWgBSP +DROi9i5+0VBsMxg4XVmOI3KRyjAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAKG +Fmh0dHA6Ly9lOC5pLmxlbmNyLm9yZy8wMAYDVR0RBCkwJ4IlcG93ZXItbWV0ZXIt +cmVhZGVyLnNpdGUucXVhY2stbGFiLmRldjATBgNVHSAEDDAKMAgGBmeBDAECATAt +BgNVHR8EJjAkMCKgIKAehhxodHRwOi8vZTguYy5sZW5jci5vcmcvNDcuY3JsMIIB +BQYKKwYBBAHWeQIEAgSB9gSB8wDxAHYAZBHEbKQS7KeJHKICLgC8q08oB9QeNSer +6v7VA8l9zfAAAAGaJ/Od2AAABAMARzBFAiEAnYh7o+ybSD3YXOcj7/yElkGebrLe +Wk75+8TXLXV4Yn0CIGw9hdc/twBCEXfbDmwsMoNxGtV8Vb4RqT7+WZYqKJB8AHcA +DleUvPOuqT4zGyyZB7P3kN+bwj1xMiXdIaklrGHFTiEAAAGaJ/Od4QAABAMASDBG +AiEAiRDpE3KVv0ODVySU2PVtTHdVXvIuNH2JPkIP/XXAA3UCIQDCxxSy8hIGATOE +ux+m+1/BKleWLdsINb92c7X51JpltzAKBggqhkjOPQQDAwNpADBmAjEAqYQsouw8 +lKS1sF6MM2Cb6uLHZMBNpiYVTU8gBv34VhUiI4d08KyisCvU4XVcHr69AjEA4mCj +MYAOS6Eeis6li5gjBA5hP2QY+NEkPGIsj2KjvMjCU+IbP6ZmurkTCmzgdr9x +-----END CERTIFICATE----- + +-----BEGIN CERTIFICATE----- +MIIEVjCCAj6gAwIBAgIQY5WTY8JOcIJxWRi/w9ftVjANBgkqhkiG9w0BAQsFADBP +MQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFy +Y2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMTAeFw0yNDAzMTMwMDAwMDBa +Fw0yNzAzMTIyMzU5NTlaMDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBF +bmNyeXB0MQswCQYDVQQDEwJFODB2MBAGByqGSM49AgEGBSuBBAAiA2IABNFl8l7c +S7QMApzSsvru6WyrOq44ofTUOTIzxULUzDMMNMchIJBwXOhiLxxxs0LXeb5GDcHb +R6EToMffgSZjO9SNHfY9gjMy9vQr5/WWOrQTZxh7az6NSNnq3u2ubT6HTKOB+DCB +9TAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB +MBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFI8NE6L2Ln7RUGwzGDhdWY4j +cpHKMB8GA1UdIwQYMBaAFHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEB +BCYwJDAiBggrBgEFBQcwAoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzATBgNVHSAE +DDAKMAgGBmeBDAECATAnBgNVHR8EIDAeMBygGqAYhhZodHRwOi8veDEuYy5sZW5j +ci5vcmcvMA0GCSqGSIb3DQEBCwUAA4ICAQBnE0hGINKsCYWi0Xx1ygxD5qihEjZ0 +RI3tTZz1wuATH3ZwYPIp97kWEayanD1j0cDhIYzy4CkDo2jB8D5t0a6zZWzlr98d +AQFNh8uKJkIHdLShy+nUyeZxc5bNeMp1Lu0gSzE4McqfmNMvIpeiwWSYO9w82Ob8 +otvXcO2JUYi3svHIWRm3+707DUbL51XMcY2iZdlCq4Wa9nbuk3WTU4gr6LY8MzVA +aDQG2+4U3eJ6qUF10bBnR1uuVyDYs9RhrwucRVnfuDj29CMLTsplM5f5wSV5hUpm +Uwp/vV7M4w4aGunt74koX71n4EdagCsL/Yk5+mAQU0+tue0JOfAV/R6t1k+Xk9s2 +HMQFeoxppfzAVC04FdG9M+AC2JWxmFSt6BCuh3CEey3fE52Qrj9YM75rtvIjsm/1 +Hl+u//Wqxnu1ZQ4jpa+VpuZiGOlWrqSP9eogdOhCGisnyewWJwRQOqK16wiGyZeR +xs/Bekw65vwSIaVkBruPiTfMOo0Zh4gVa8/qJgMbJbyrwwG97z/PRgmLKCDl8z3d +tA0Z7qq7fta0Gl24uyuB05dqI5J1LvAzKuWdIjT1tP8qCoxSE/xpix8hX2dt3h+/ +jujUgFPFZ0EVZ0xSyBNRF3MboGZnYXFUxpNjTWPKpagDHJQmqrAcDmWJnMsFY3jS +u1igv3OefnWjSQ== +-----END CERTIFICATE----- diff --git a/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/power-meter-reader.site.quack-lab.dev/power-meter-reader.site.quack-lab.dev.json b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/power-meter-reader.site.quack-lab.dev/power-meter-reader.site.quack-lab.dev.json new file mode 100644 index 0000000..55e3640 --- /dev/null +++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/power-meter-reader.site.quack-lab.dev/power-meter-reader.site.quack-lab.dev.json @@ -0,0 +1,9 @@ +{ + "sans": [ + "power-meter-reader.site.quack-lab.dev" + ], + "issuer_data": { + "url": "https://acme-v02.api.letsencrypt.org/acme/cert/0680d3bbea484cbe18a3bdcdb75710c2a62e", + "ca": "https://acme-v02.api.letsencrypt.org/directory" + } +} \ No newline at end of file diff --git a/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/power-meter-reader.site.quack-lab.dev/power-meter-reader.site.quack-lab.dev.key b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/power-meter-reader.site.quack-lab.dev/power-meter-reader.site.quack-lab.dev.key new file mode 100644 index 0000000..f104bd1 --- /dev/null +++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/power-meter-reader.site.quack-lab.dev/power-meter-reader.site.quack-lab.dev.key @@ -0,0 +1,5 @@ +-----BEGIN EC PRIVATE KEY----- +MHcCAQEEIE2c8IPEwgB3+sCTV2TKmr8wK7Tk1iuznlF3JSAaEECMoAoGCCqGSM49 +AwEHoUQDQgAEFY2vEooJU3HzB5yrG2Qw5TpDxXR9k02fqahZaaHQDzoz1Uj5+BTY +oBUOJHda1vVw/HZ4hBO/x8jQbCCmTag/Wg== +-----END EC PRIVATE KEY----- diff --git a/coolify/proxy/caddy/dynamic/monitoring.caddy b/coolify/proxy/caddy/dynamic/monitoring.caddy index 5a1a3ad..2b1760d 100644 --- a/coolify/proxy/caddy/dynamic/monitoring.caddy +++ b/coolify/proxy/caddy/dynamic/monitoring.caddy @@ -67,4 +67,15 @@ libre-metrics-exporter-jana.site.quack-lab.dev { handle { respond "Njet Molotoff" 403 } +} +power-meter-reader.site.quack-lab.dev { + @lan { + remote_ip 192.168.0.0/16 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 + } + handle @lan { + reverse_proxy host.docker.internal:9646 + } + handle { + respond "Njet Molotoff" 403 + } } \ No newline at end of file diff --git a/coolify/proxy/dynamic/Caddyfile b/coolify/proxy/dynamic/Caddyfile index 481df56..1a8d379 100644 --- a/coolify/proxy/dynamic/Caddyfile +++ b/coolify/proxy/dynamic/Caddyfile @@ -1,4 +1 @@ -{ -debug -} import /dynamic/*.caddy diff --git a/monitoring/prometheus/config/prometheus.yml b/monitoring/prometheus/config/prometheus.yml index debabf4..a7ff635 100644 --- a/monitoring/prometheus/config/prometheus.yml +++ b/monitoring/prometheus/config/prometheus.yml @@ -37,7 +37,7 @@ scrape_configs: - job_name: 'power-meter-reader' scrape_interval: 30s static_configs: - - targets: ['localhost:20132'] + - targets: ['power-meter-reader.site.quack-lab.dev'] # - job_name: 'windows-exporter' # scrape_interval: 10s