diff --git a/coolify/proxy/caddy/config/caddy/Caddyfile.autosave b/coolify/proxy/caddy/config/caddy/Caddyfile.autosave
index 82a4db4..e103a13 100644
--- a/coolify/proxy/caddy/config/caddy/Caddyfile.autosave
+++ b/coolify/proxy/caddy/config/caddy/Caddyfile.autosave
@@ -39,6 +39,22 @@ https://calibre.site.quack-lab.dev {
header -Server
try_files {path} /index.html /index.php
}
+https://clippy.site.quack-lab.dev {
+ encode zstd gzip
+ handle_path /* {
+ reverse_proxy 10.0.70.2:8080
+ }
+ header -Server
+ try_files {path} /index.html /index.php
+}
+https://cronicle.site.quack-lab.dev {
+ encode zstd gzip
+ handle_path /* {
+ reverse_proxy 10.0.73.2:3012
+ }
+ header -Server
+ try_files {path} /index.html /index.php
+}
https://docker.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
@@ -47,10 +63,10 @@ https://docker.site.quack-lab.dev {
header -Server
try_files {path} /index.html /index.php
}
-https://elasticsearch.site.quack-lab.dev {
+https://dozzle.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.66.2:9200
+ reverse_proxy 10.0.69.2:8080
}
header -Server
try_files {path} /index.html /index.php
@@ -121,10 +137,18 @@ https://jelly.site.quack-lab.dev {
header -Server
try_files {path} /index.html /index.php
}
-https://kibana.site.quack-lab.dev {
+https://journal-typesense-admin.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.66.3:5601
+ reverse_proxy 10.0.72.3:80
+ }
+ header -Server
+ try_files {path} /index.html /index.php
+}
+https://journal-typesense.site.quack-lab.dev {
+ encode zstd gzip
+ handle_path /* {
+ reverse_proxy 10.0.72.2:8108
}
header -Server
try_files {path} /index.html /index.php
@@ -253,6 +277,22 @@ https://torrent.site.quack-lab.dev {
header -Server
try_files {path} /index.html /index.php
}
+https://typedemo.site.quack-lab.dev {
+ encode zstd gzip
+ handle_path /* {
+ reverse_proxy 10.0.71.2:8108
+ }
+ header -Server
+ try_files {path} /index.html /index.php
+}
+https://vikunja-typesense-admin.site.quack-lab.dev {
+ encode zstd gzip
+ handle_path /* {
+ reverse_proxy 10.0.68.2:80
+ }
+ header -Server
+ try_files {path} /index.html /index.php
+}
https://vikunja-typesense.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
@@ -264,7 +304,7 @@ https://vikunja-typesense.site.quack-lab.dev {
https://vikunja.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.68.5:3456
+ reverse_proxy 10.0.68.6:3456
}
header -Server
try_files {path} /index.html /index.php
diff --git a/coolify/proxy/caddy/config/caddy/autosave.json b/coolify/proxy/caddy/config/caddy/autosave.json
index 01d358e..b1ef26f 100644
--- a/coolify/proxy/caddy/config/caddy/autosave.json
+++ b/coolify/proxy/caddy/config/caddy/autosave.json
@@ -1 +1 @@
-{"admin":{"listen":"tcp/localhost:2019"},"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":"group75","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","86.33.11.123"]}}]},{"group":"group75","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":"group77","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","86.33.11.123"]}}]},{"group":"group77","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":"group80","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","86.33.11.123"]}}]},{"group":"group80","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":"group83","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","86.33.11.123"]}}]},{"group":"group83","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.68.3:8108"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["vikunja-typesense.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":"group88","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","86.33.11.123"]}}]},{"group":"group88","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":"group91","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"meili-web:24900"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group91","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":"group93","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"portainer:9000"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group93","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":"group98","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","86.33.11.123"]}}]},{"group":"group98","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":"group100","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"nsqd:4151"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group100","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":"group102","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"nsqadmin:4171"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group102","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":"group106","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"host.docker.internal:8000"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group106","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["coolify.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group108","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","86.33.11.123"]}}]},{"group":"group108","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":"group110","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"qbit:8080"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group110","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.68.5:3456"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["vikunja.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":"group121","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"actual_server:5006"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group121","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":"group123","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"webtop:3000"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group123","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":"group130","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"grist:8484"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group130","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":"group132","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"meilisearch:7700"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group132","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":"group140","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"stirling-pdf:8080"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group140","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}]}]}}}}}
\ 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":"group81","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","86.33.11.123"]}}]},{"group":"group81","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":"group83","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","86.33.11.123"]}}]},{"group":"group83","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":[{"group":"group85","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"typesense-admin:80"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group85","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["vikunja-typesense-admin.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.72.3:80"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["journal-typesense-admin.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":[{"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.68.2:80"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["vikunja-typesense-admin.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group90","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","86.33.11.123"]}}]},{"group":"group90","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":"group93","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"host.docker.internal:20132"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group93","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.72.2:8108"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["journal-typesense.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.68.3:8108"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["vikunja-typesense.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group98","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","86.33.11.123"]}}]},{"group":"group98","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":"group101","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"meili-web:24900"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group101","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":"group103","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"portainer:9000"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group103","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":"group108","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","86.33.11.123"]}}]},{"group":"group108","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":"group110","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"nsqd:4151"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group110","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":"group112","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"nsqadmin:4171"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group112","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.73.2:3012"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["cronicle.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":[{"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.71.2:8108"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["typedemo.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"grafana-jococcw004848ck4k0owwww0:43433"}]}]}]}]}]}],"match":[{"host":["grafana.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group119","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"qbit:8080"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group119","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.68.6:3456"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["vikunja.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":"group130","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"actual_server:5006"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group130","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":"group132","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"dozzle:8080"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group132","handle":[{"handler":"subroute","routes":[{"handle":[{"body":"Njet Molotoff","handler":"static_response","status_code":403}]}]}]}]}],"match":[{"host":["dozzle.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group134","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"webtop:3000"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group134","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.70.2:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["clippy.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.69.2:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["dozzle.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.67.2:3000"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["webtop.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"group":"group142","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"grist:8484"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group142","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":"group144","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"meilisearch:7700"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group144","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":"group152","handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"stirling-pdf:8080"}]}]}]}],"match":[{"remote_ip":{"ranges":["192.168.0.0/16","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","86.33.11.123"]}}]},{"group":"group152","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}]}]}}}}}
\ No newline at end of file
diff --git a/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/clippy.site.quack-lab.dev/clippy.site.quack-lab.dev.crt b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/clippy.site.quack-lab.dev/clippy.site.quack-lab.dev.crt
new file mode 100644
index 0000000..b38e441
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/clippy.site.quack-lab.dev/clippy.site.quack-lab.dev.crt
@@ -0,0 +1,49 @@
+-----BEGIN CERTIFICATE-----
+MIIDoTCCAyagAwIBAgISBjx11QZmZbgED/Xz2y6cYJtHMAoGCCqGSM49BAMDMDIx
+CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
+NzAeFw0yNTEwMjkxNTUyMDNaFw0yNjAxMjcxNTUyMDJaMCQxIjAgBgNVBAMTGWNs
+aXBweS5zaXRlLnF1YWNrLWxhYi5kZXYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC
+AATOMsMvchfEfyJGHIHFrTODBO4/0FYGjFwjS5uhcvC1xAcz2sD2i2PiSjjS4Xo8
+lkFQ3cM+eHRx3cWkJIGB7qdko4ICKDCCAiQwDgYDVR0PAQH/BAQDAgeAMB0GA1Ud
+JQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQW
+BBTpllmS0WT23cEfWOu8/INdos7bVDAfBgNVHSMEGDAWgBSuSJ7chx1EoG/aouVg
+dAR4wpwAgDAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly9lNy5p
+LmxlbmNyLm9yZy8wJAYDVR0RBB0wG4IZY2xpcHB5LnNpdGUucXVhY2stbGFiLmRl
+djATBgNVHSAEDDAKMAgGBmeBDAECATAtBgNVHR8EJjAkMCKgIKAehhxodHRwOi8v
+ZTcuYy5sZW5jci5vcmcvNzIuY3JsMIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDxAHYA
+GYbUxyiqb/66A294Kk0BkarOLXIxD67OXXBBLSVMx9QAAAGaMODYnQAABAMARzBF
+AiEAuOgrH+AeoQmwSzeHGkHYaL2oaRv26hwXhRKMAD5I+ZACIDYOaiy0ylVAC92x
+bsCqMuVspl5wIaAs9BECs/bcSifrAHcADleUvPOuqT4zGyyZB7P3kN+bwj1xMiXd
+IaklrGHFTiEAAAGaMODYswAABAMASDBGAiEA9UpOuzyKSBPR1vNUO4/LwBx+xVsE
+lp0sS7+6f1uPUFsCIQDRrYUBPtZHj2PocuHjdmx/l+XYGWhwsLLM9CH4IyHrMzAK
+BggqhkjOPQQDAwNpADBmAjEA/C9y0QWdoq7JBHSPDHcW3tqrJ5FJluwX+uSCkkgy
+F0B8WxQLaweieo2wu//7FvP4AjEAzfswVKJ6IrQnjElQHF7WeMz4wxbNLGZ3Nffw
+wHTuldblOa45vBeypVHANB0G3hiV
+-----END CERTIFICATE-----
+
+-----BEGIN CERTIFICATE-----
+MIIEVzCCAj+gAwIBAgIRAKp18eYrjwoiCWbTi7/UuqEwDQYJKoZIhvcNAQELBQAw
+TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
+cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjQwMzEzMDAwMDAw
+WhcNMjcwMzEyMjM1OTU5WjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
+RW5jcnlwdDELMAkGA1UEAxMCRTcwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARB6AST
+CFh/vjcwDMCgQer+VtqEkz7JANurZxLP+U9TCeioL6sp5Z8VRvRbYk4P1INBmbef
+QHJFHCxcSjKmwtvGBWpl/9ra8HW0QDsUaJW2qOJqceJ0ZVFT3hbUHifBM/2jgfgw
+gfUwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD
+ATASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBSuSJ7chx1EoG/aouVgdAR4
+wpwAgDAfBgNVHSMEGDAWgBR5tFnme7bl5AFzgAiIyBpY9umbbjAyBggrBgEFBQcB
+AQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly94MS5pLmxlbmNyLm9yZy8wEwYDVR0g
+BAwwCjAIBgZngQwBAgEwJwYDVR0fBCAwHjAcoBqgGIYWaHR0cDovL3gxLmMubGVu
+Y3Iub3JnLzANBgkqhkiG9w0BAQsFAAOCAgEAjx66fDdLk5ywFn3CzA1w1qfylHUD
+aEf0QZpXcJseddJGSfbUUOvbNR9N/QQ16K1lXl4VFyhmGXDT5Kdfcr0RvIIVrNxF
+h4lqHtRRCP6RBRstqbZ2zURgqakn/Xip0iaQL0IdfHBZr396FgknniRYFckKORPG
+yM3QKnd66gtMst8I5nkRQlAg/Jb+Gc3egIvuGKWboE1G89NTsN9LTDD3PLj0dUMr
+OIuqVjLB8pEC6yk9enrlrqjXQgkLEYhXzq7dLafv5Vkig6Gl0nuuqjqfp0Q1bi1o
+yVNAlXe6aUXw92CcghC9bNsKEO1+M52YY5+ofIXlS/SEQbvVYYBLZ5yeiglV6t3S
+M6H+vTG0aP9YHzLn/KVOHzGQfXDP7qM5tkf+7diZe7o2fw6O7IvN6fsQXEQQj8TJ
+UXJxv2/uJhcuy/tSDgXwHM8Uk34WNbRT7zGTGkQRX0gsbjAea/jYAoWv0ZvQRwpq
+Pe79D/i7Cep8qWnA+7AE/3B3S/3dEEYmc0lpe1366A/6GEgk3ktr9PEoQrLChs6I
+tu3wnNLB2euC8IKGLQFpGtOO/2/hiAKjyajaBP25w1jF0Wl8Bbqne3uZ2q1GyPFJ
+YRmT7/OXpmOH/FVLtwS+8ng1cAmpCujPwteJZNcDG0sF2n/sc0+SQf49fdyUK0ty
++VUwFj9tmWxyR/M=
+-----END CERTIFICATE-----
diff --git a/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/clippy.site.quack-lab.dev/clippy.site.quack-lab.dev.json b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/clippy.site.quack-lab.dev/clippy.site.quack-lab.dev.json
new file mode 100644
index 0000000..8173217
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/clippy.site.quack-lab.dev/clippy.site.quack-lab.dev.json
@@ -0,0 +1,9 @@
+{
+ "sans": [
+ "clippy.site.quack-lab.dev"
+ ],
+ "issuer_data": {
+ "url": "https://acme-v02.api.letsencrypt.org/acme/cert/063c75d5066665b8040ff5f3db2e9c609b47",
+ "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/clippy.site.quack-lab.dev/clippy.site.quack-lab.dev.key b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/clippy.site.quack-lab.dev/clippy.site.quack-lab.dev.key
new file mode 100644
index 0000000..a28eefa
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/clippy.site.quack-lab.dev/clippy.site.quack-lab.dev.key
@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIMInuGygbmqq1oyUWBxZjAxIFSgZb6RcgXNdNm1Ke6WroAoGCCqGSM49
+AwEHoUQDQgAEzjLDL3IXxH8iRhyBxa0zgwTuP9BWBoxcI0uboXLwtcQHM9rA9otj
+4ko40uF6PJZBUN3DPnh0cd3FpCSBge6nZA==
+-----END EC PRIVATE KEY-----
diff --git a/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/cronicle.site.quack-lab.dev/cronicle.site.quack-lab.dev.crt b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/cronicle.site.quack-lab.dev/cronicle.site.quack-lab.dev.crt
new file mode 100644
index 0000000..c455453
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/cronicle.site.quack-lab.dev/cronicle.site.quack-lab.dev.crt
@@ -0,0 +1,49 @@
+-----BEGIN CERTIFICATE-----
+MIIDozCCAyqgAwIBAgISBv+Mcxzbalm7xG2tJwoO6LgoMAoGCCqGSM49BAMDMDIx
+CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
+ODAeFw0yNTExMDcxMDI3MDdaFw0yNjAyMDUxMDI3MDZaMCYxJDAiBgNVBAMTG2Ny
+b25pY2xlLnNpdGUucXVhY2stbGFiLmRldjBZMBMGByqGSM49AgEGCCqGSM49AwEH
+A0IABHUfRUKe4Y5ygVnY58m8x9NS+XbINBQ4qCc9xyac1VHIK/5liPvxQ1DsDRGu
+r3w08MF3t5yEfAErHYvhgplpnhijggIqMIICJjAOBgNVHQ8BAf8EBAMCB4AwHQYD
+VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0O
+BBYEFKqIZL6Azud1VdX7utrftyDwqUENMB8GA1UdIwQYMBaAFI8NE6L2Ln7RUGwz
+GDhdWY4jcpHKMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAoYWaHR0cDovL2U4
+LmkubGVuY3Iub3JnLzAmBgNVHREEHzAdghtjcm9uaWNsZS5zaXRlLnF1YWNrLWxh
+Yi5kZXYwEwYDVR0gBAwwCjAIBgZngQwBAgEwLQYDVR0fBCYwJDAioCCgHoYcaHR0
+cDovL2U4LmMubGVuY3Iub3JnLzQxLmNybDCCAQUGCisGAQQB1nkCBAIEgfYEgfMA
+8QB3AGQRxGykEuyniRyiAi4AvKtPKAfUHjUnq+r+1QPJfc3wAAABml4QmyIAAAQD
+AEgwRgIhANMZ6dkHPcGY4XT7tlyMwBnlonxzC7IUnEk/jHoUJJ3PAiEA+5Jnx6H4
+bNkXYXCWzp1gl0ohWP4wMY4A1Vq+ShWqUwwAdgAZhtTHKKpv/roDb3gqTQGRqs4t
+cjEPrs5dcEEtJUzH1AAAAZpeEKL1AAAEAwBHMEUCIDYaKy4AZa5Jh1lVI0St52jf
+zqashxNsKdxlAxw614BKAiEA87wouby8Nh/oD/F5ZHpM8zi/LYO2a49MIahr//hD
+zyQwCgYIKoZIzj0EAwMDZwAwZAIwDv1KRxwJucpLTqCKnLQFV82LDLqEEw+ZyeJ/
+pxmF9UwpKuulZ49ZW9ssMTFVVgm8AjB2o8OtdBSJ4pe0pRRwQBl1uRKboFZaTDFY
+COcQaigi0+CeFoO3Mtnng5uGlK828K8=
+-----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/cronicle.site.quack-lab.dev/cronicle.site.quack-lab.dev.json b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/cronicle.site.quack-lab.dev/cronicle.site.quack-lab.dev.json
new file mode 100644
index 0000000..d45a62a
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/cronicle.site.quack-lab.dev/cronicle.site.quack-lab.dev.json
@@ -0,0 +1,9 @@
+{
+ "sans": [
+ "cronicle.site.quack-lab.dev"
+ ],
+ "issuer_data": {
+ "url": "https://acme-v02.api.letsencrypt.org/acme/cert/06ff8c731cdb6a59bbc46dad270a0ee8b828",
+ "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/cronicle.site.quack-lab.dev/cronicle.site.quack-lab.dev.key b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/cronicle.site.quack-lab.dev/cronicle.site.quack-lab.dev.key
new file mode 100644
index 0000000..cb3304c
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/cronicle.site.quack-lab.dev/cronicle.site.quack-lab.dev.key
@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIAUX6DfSBhl+kAMtVhDTqsGY6XXyIkOoEVs1pT9qyxlpoAoGCCqGSM49
+AwEHoUQDQgAEdR9FQp7hjnKBWdjnybzH01L5dsg0FDioJz3HJpzVUcgr/mWI+/FD
+UOwNEa6vfDTwwXe3nIR8ASsdi+GCmWmeGA==
+-----END EC PRIVATE KEY-----
diff --git a/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/dozzle.site.quack-lab.dev/dozzle.site.quack-lab.dev.crt b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/dozzle.site.quack-lab.dev/dozzle.site.quack-lab.dev.crt
new file mode 100644
index 0000000..f8111b6
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/dozzle.site.quack-lab.dev/dozzle.site.quack-lab.dev.crt
@@ -0,0 +1,49 @@
+-----BEGIN CERTIFICATE-----
+MIIDoDCCAyagAwIBAgISBtk/aZEFjqn0QevfQY073SfhMAoGCCqGSM49BAMDMDIx
+CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
+ODAeFw0yNTEwMjkxMzQ0MzZaFw0yNjAxMjcxMzQ0MzVaMCQxIjAgBgNVBAMTGWRv
+enpsZS5zaXRlLnF1YWNrLWxhYi5kZXYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC
+AARyZIYvdODNTjuJEkKcd9ew+mC5XVI/ZPfz+k0v/JCczF+CfyDpS2yiDf12HIUi
+vrIcbEMNE9frxWc/Ab0gJtIio4ICKDCCAiQwDgYDVR0PAQH/BAQDAgeAMB0GA1Ud
+JQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQW
+BBRqA+PZacP8cnNu0JfoC6SEB5kSCjAfBgNVHSMEGDAWgBSPDROi9i5+0VBsMxg4
+XVmOI3KRyjAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly9lOC5p
+LmxlbmNyLm9yZy8wJAYDVR0RBB0wG4IZZG96emxlLnNpdGUucXVhY2stbGFiLmRl
+djATBgNVHSAEDDAKMAgGBmeBDAECATAtBgNVHR8EJjAkMCKgIKAehhxodHRwOi8v
+ZTguYy5sZW5jci5vcmcvOTguY3JsMIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDxAHcA
+GYbUxyiqb/66A294Kk0BkarOLXIxD67OXXBBLSVMx9QAAAGaMGwsnwAABAMASDBG
+AiEAnwP/jyqpF0aVDFrt8OJtz6lq0/nQ+iK1wn1NqEsDJSsCIQCd7zKTs//itUp7
+KlqN1ipV8Kd8+LYB2mLnoqQrhC3LIAB2AJaXZL9VWJet90OHaDcIQnfp8DrV9qTz
+Nm5GpD8PyqnGAAABmjBsLOQAAAQDAEcwRQIgIvGZ8wgAZTlHAiLw9jA9GRyRHhKO
+odS5UX8SCgQl6foCIQCXTUXWVSdZiyX5hjJIClAojiEDRdXGF9BF/xdt2umCXTAK
+BggqhkjOPQQDAwNoADBlAjBGO2ictlXUTJxcZ2ECdU1K3iHryaOsOAerM6SRK66g
+ZNNBnA5zdcPcjNeTy3nta6UCMQDV68D26te1mCHquDLq5IsPhOs90PD7/atSrDI8
+Hzq/Eh8AZqzwj9IMUBQH2kBqrRQ=
+-----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/dozzle.site.quack-lab.dev/dozzle.site.quack-lab.dev.json b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/dozzle.site.quack-lab.dev/dozzle.site.quack-lab.dev.json
new file mode 100644
index 0000000..5bae6d6
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/dozzle.site.quack-lab.dev/dozzle.site.quack-lab.dev.json
@@ -0,0 +1,9 @@
+{
+ "sans": [
+ "dozzle.site.quack-lab.dev"
+ ],
+ "issuer_data": {
+ "url": "https://acme-v02.api.letsencrypt.org/acme/cert/06d93f6991058ea9f441ebdf418d3bdd27e1",
+ "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/dozzle.site.quack-lab.dev/dozzle.site.quack-lab.dev.key b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/dozzle.site.quack-lab.dev/dozzle.site.quack-lab.dev.key
new file mode 100644
index 0000000..82ba796
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/dozzle.site.quack-lab.dev/dozzle.site.quack-lab.dev.key
@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIIgKY9dJO0FT/4nvmdoUmE7xfSdv30GszH2nh2YP3F++oAoGCCqGSM49
+AwEHoUQDQgAEcmSGL3TgzU47iRJCnHfXsPpguV1SP2T38/pNL/yQnMxfgn8g6Uts
+og39dhyFIr6yHGxDDRPX68VnPwG9ICbSIg==
+-----END EC PRIVATE KEY-----
diff --git a/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/journal-typesense-admin.site.quack-lab.dev/journal-typesense-admin.site.quack-lab.dev.crt b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/journal-typesense-admin.site.quack-lab.dev/journal-typesense-admin.site.quack-lab.dev.crt
new file mode 100644
index 0000000..99c3ba7
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/journal-typesense-admin.site.quack-lab.dev/journal-typesense-admin.site.quack-lab.dev.crt
@@ -0,0 +1,50 @@
+-----BEGIN CERTIFICATE-----
+MIIDwzCCA0igAwIBAgISBdmVEQNw3FFPe1IgfXViDn0NMAoGCCqGSM49BAMDMDIx
+CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
+NzAeFw0yNTExMDIxMTMzMDBaFw0yNjAxMzExMTMyNTlaMDUxMzAxBgNVBAMTKmpv
+dXJuYWwtdHlwZXNlbnNlLWFkbWluLnNpdGUucXVhY2stbGFiLmRldjBZMBMGByqG
+SM49AgEGCCqGSM49AwEHA0IABIxVB6S95cChTNxEreVET7ldFWtaLZhhXE2TGGml
+UxlY/RRAa6AvAU4jQsrJ+mcSa0b8kdhLqb0ZX7iKuOuHCkqjggI5MIICNTAOBgNV
+HQ8BAf8EBAMCB4AwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1Ud
+EwEB/wQCMAAwHQYDVR0OBBYEFBjTQfy0fTOYtMcoYudxymXW6KBrMB8GA1UdIwQY
+MBaAFK5IntyHHUSgb9qi5WB0BHjCnACAMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEF
+BQcwAoYWaHR0cDovL2U3LmkubGVuY3Iub3JnLzA1BgNVHREELjAsgipqb3VybmFs
+LXR5cGVzZW5zZS1hZG1pbi5zaXRlLnF1YWNrLWxhYi5kZXYwEwYDVR0gBAwwCjAI
+BgZngQwBAgEwLQYDVR0fBCYwJDAioCCgHoYcaHR0cDovL2U3LmMubGVuY3Iub3Jn
+LzE0LmNybDCCAQUGCisGAQQB1nkCBAIEgfYEgfMA8QB2AEmcm2neHXzs/DbezYdk
+prhbrwqHgBnRVVL76esp3fjDAAABmkSNHe4AAAQDAEcwRQIgc2nM5AsHMXvPP102
+zQ3j1I62cmZunLit/PCFzeRMTeUCIQCufA22K2MkJQJ75937oaoTtNaAQNA0oVeS
+KrzAcBf06QB3AJaXZL9VWJet90OHaDcIQnfp8DrV9qTzNm5GpD8PyqnGAAABmkSN
+HiIAAAQDAEgwRgIhALao0BuHjc+TfpoGj8/oV6mabyGMEgzPdyUl9CP7+nlCAiEA
+5QEsUJ1gjwjaJtIbNsD25cOWymKhldsjx52XWnmP3lcwCgYIKoZIzj0EAwMDaQAw
+ZgIxAISe8JJ9wLX3ndE+foTq6PtxHQytSIorWKumDIcxpGte0wSbzbKBN6cfj2fA
+9eLLAwIxAJCpEXLHszZbmAzEUY6ArR+3fTD6QGiNarTs75SxhYWUBZ/Adf+hm+76
+PrI9XfzJ1A==
+-----END CERTIFICATE-----
+
+-----BEGIN CERTIFICATE-----
+MIIEVzCCAj+gAwIBAgIRAKp18eYrjwoiCWbTi7/UuqEwDQYJKoZIhvcNAQELBQAw
+TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
+cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjQwMzEzMDAwMDAw
+WhcNMjcwMzEyMjM1OTU5WjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
+RW5jcnlwdDELMAkGA1UEAxMCRTcwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARB6AST
+CFh/vjcwDMCgQer+VtqEkz7JANurZxLP+U9TCeioL6sp5Z8VRvRbYk4P1INBmbef
+QHJFHCxcSjKmwtvGBWpl/9ra8HW0QDsUaJW2qOJqceJ0ZVFT3hbUHifBM/2jgfgw
+gfUwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD
+ATASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBSuSJ7chx1EoG/aouVgdAR4
+wpwAgDAfBgNVHSMEGDAWgBR5tFnme7bl5AFzgAiIyBpY9umbbjAyBggrBgEFBQcB
+AQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly94MS5pLmxlbmNyLm9yZy8wEwYDVR0g
+BAwwCjAIBgZngQwBAgEwJwYDVR0fBCAwHjAcoBqgGIYWaHR0cDovL3gxLmMubGVu
+Y3Iub3JnLzANBgkqhkiG9w0BAQsFAAOCAgEAjx66fDdLk5ywFn3CzA1w1qfylHUD
+aEf0QZpXcJseddJGSfbUUOvbNR9N/QQ16K1lXl4VFyhmGXDT5Kdfcr0RvIIVrNxF
+h4lqHtRRCP6RBRstqbZ2zURgqakn/Xip0iaQL0IdfHBZr396FgknniRYFckKORPG
+yM3QKnd66gtMst8I5nkRQlAg/Jb+Gc3egIvuGKWboE1G89NTsN9LTDD3PLj0dUMr
+OIuqVjLB8pEC6yk9enrlrqjXQgkLEYhXzq7dLafv5Vkig6Gl0nuuqjqfp0Q1bi1o
+yVNAlXe6aUXw92CcghC9bNsKEO1+M52YY5+ofIXlS/SEQbvVYYBLZ5yeiglV6t3S
+M6H+vTG0aP9YHzLn/KVOHzGQfXDP7qM5tkf+7diZe7o2fw6O7IvN6fsQXEQQj8TJ
+UXJxv2/uJhcuy/tSDgXwHM8Uk34WNbRT7zGTGkQRX0gsbjAea/jYAoWv0ZvQRwpq
+Pe79D/i7Cep8qWnA+7AE/3B3S/3dEEYmc0lpe1366A/6GEgk3ktr9PEoQrLChs6I
+tu3wnNLB2euC8IKGLQFpGtOO/2/hiAKjyajaBP25w1jF0Wl8Bbqne3uZ2q1GyPFJ
+YRmT7/OXpmOH/FVLtwS+8ng1cAmpCujPwteJZNcDG0sF2n/sc0+SQf49fdyUK0ty
++VUwFj9tmWxyR/M=
+-----END CERTIFICATE-----
diff --git a/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/journal-typesense-admin.site.quack-lab.dev/journal-typesense-admin.site.quack-lab.dev.json b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/journal-typesense-admin.site.quack-lab.dev/journal-typesense-admin.site.quack-lab.dev.json
new file mode 100644
index 0000000..dc7b03b
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/journal-typesense-admin.site.quack-lab.dev/journal-typesense-admin.site.quack-lab.dev.json
@@ -0,0 +1,9 @@
+{
+ "sans": [
+ "journal-typesense-admin.site.quack-lab.dev"
+ ],
+ "issuer_data": {
+ "url": "https://acme-v02.api.letsencrypt.org/acme/cert/05d995110370dc514f7b52207d75620e7d0d",
+ "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/journal-typesense-admin.site.quack-lab.dev/journal-typesense-admin.site.quack-lab.dev.key b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/journal-typesense-admin.site.quack-lab.dev/journal-typesense-admin.site.quack-lab.dev.key
new file mode 100644
index 0000000..ed665bb
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/journal-typesense-admin.site.quack-lab.dev/journal-typesense-admin.site.quack-lab.dev.key
@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIDpDo2vSSE80fdBQEi2SWicdYf9eB86CyaAuQHPJBHkQoAoGCCqGSM49
+AwEHoUQDQgAEjFUHpL3lwKFM3ESt5URPuV0Va1otmGFcTZMYaaVTGVj9FEBroC8B
+TiNCysn6ZxJrRvyR2EupvRlfuIq464cKSg==
+-----END EC PRIVATE KEY-----
diff --git a/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/journal-typesense.site.quack-lab.dev/journal-typesense.site.quack-lab.dev.crt b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/journal-typesense.site.quack-lab.dev/journal-typesense.site.quack-lab.dev.crt
new file mode 100644
index 0000000..9358544
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/journal-typesense.site.quack-lab.dev/journal-typesense.site.quack-lab.dev.crt
@@ -0,0 +1,49 @@
+-----BEGIN CERTIFICATE-----
+MIIDtjCCAzygAwIBAgISBQ+z9EVdxEwHOAla7OLJry7zMAoGCCqGSM49BAMDMDIx
+CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
+ODAeFw0yNTExMDIxMTMyNTZaFw0yNjAxMzExMTMyNTVaMC8xLTArBgNVBAMTJGpv
+dXJuYWwtdHlwZXNlbnNlLnNpdGUucXVhY2stbGFiLmRldjBZMBMGByqGSM49AgEG
+CCqGSM49AwEHA0IABFB6Q4J3qWz2IDnJTpIR5lKVSfqHT7gx9QikhDjv9LXNClEU
+j+omzIhxaXwc+xJVYTR3PYmDPiHxTMnBPLWkgE2jggIzMIICLzAOBgNVHQ8BAf8E
+BAMCB4AwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQC
+MAAwHQYDVR0OBBYEFDyY0Fq/zVn8l9c4wj6e6w57KwbEMB8GA1UdIwQYMBaAFI8N
+E6L2Ln7RUGwzGDhdWY4jcpHKMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAoYW
+aHR0cDovL2U4LmkubGVuY3Iub3JnLzAvBgNVHREEKDAmgiRqb3VybmFsLXR5cGVz
+ZW5zZS5zaXRlLnF1YWNrLWxhYi5kZXYwEwYDVR0gBAwwCjAIBgZngQwBAgEwLgYD
+VR0fBCcwJTAjoCGgH4YdaHR0cDovL2U4LmMubGVuY3Iub3JnLzExNi5jcmwwggEE
+BgorBgEEAdZ5AgQCBIH1BIHyAPAAdgBkEcRspBLsp4kcogIuALyrTygH1B41J6vq
+/tUDyX3N8AAAAZpEjRCcAAAEAwBHMEUCIAVZSSMpeNu7uivdZTgETLXHCp2ruBIv
+szwugXU63HWRAiEA+YwNszSrFGGJpCdyiuoidKY2XDM1bAyRWN8Airp7ov8AdgAZ
+htTHKKpv/roDb3gqTQGRqs4tcjEPrs5dcEEtJUzH1AAAAZpEjRCnAAAEAwBHMEUC
+ICmlVqEC1IVmklsYm13yuHjXijovxPawbYPQv+RR/806AiEAwDHagOMvfb9Hm4zF
+7LUIXAjk/dlcaQyDP+GJnDLxuPMwCgYIKoZIzj0EAwMDaAAwZQIxAMDbnvNJAkO4
+z2wfhV+u1iw+jFfxX1uTkALMjwdywTqQvh6GfCAHsv/Gjmlh552AEgIwbFPr4cSi
+M6P74cAoLC9FyZQzE7am5fWuPIEldIQGDeK1+ohmu3nVctnCP4aZx7lx
+-----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/journal-typesense.site.quack-lab.dev/journal-typesense.site.quack-lab.dev.json b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/journal-typesense.site.quack-lab.dev/journal-typesense.site.quack-lab.dev.json
new file mode 100644
index 0000000..5dba76d
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/journal-typesense.site.quack-lab.dev/journal-typesense.site.quack-lab.dev.json
@@ -0,0 +1,9 @@
+{
+ "sans": [
+ "journal-typesense.site.quack-lab.dev"
+ ],
+ "issuer_data": {
+ "url": "https://acme-v02.api.letsencrypt.org/acme/cert/050fb3f4455dc44c0738095aece2c9af2ef3",
+ "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/journal-typesense.site.quack-lab.dev/journal-typesense.site.quack-lab.dev.key b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/journal-typesense.site.quack-lab.dev/journal-typesense.site.quack-lab.dev.key
new file mode 100644
index 0000000..ee06707
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/journal-typesense.site.quack-lab.dev/journal-typesense.site.quack-lab.dev.key
@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEID7UIOVIjAp+md+md7j6fINdt8T0GMJAjgq07A7X3nOooAoGCCqGSM49
+AwEHoUQDQgAEUHpDgnepbPYgOclOkhHmUpVJ+odPuDH1CKSEOO/0tc0KURSP6ibM
+iHFpfBz7ElVhNHc9iYM+IfFMycE8taSATQ==
+-----END EC PRIVATE KEY-----
diff --git a/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/typedemo.site.quack-lab.dev/typedemo.site.quack-lab.dev.crt b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/typedemo.site.quack-lab.dev/typedemo.site.quack-lab.dev.crt
new file mode 100644
index 0000000..a4f2492
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/typedemo.site.quack-lab.dev/typedemo.site.quack-lab.dev.crt
@@ -0,0 +1,49 @@
+-----BEGIN CERTIFICATE-----
+MIIDoTCCAyigAwIBAgISBUtM/obWgHwkidXUk5cKqfi8MAoGCCqGSM49BAMDMDIx
+CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
+NzAeFw0yNTEwMzExMzQxMDFaFw0yNjAxMjkxMzQxMDBaMCYxJDAiBgNVBAMTG3R5
+cGVkZW1vLnNpdGUucXVhY2stbGFiLmRldjBZMBMGByqGSM49AgEGCCqGSM49AwEH
+A0IABPM1x67phJ2X+9B/CUAYV2XnQGBNiZtzjIxhu3hHWEgUUbJGH0VsrpVZ6oZX
+HIjvPUoV3ftaJY6QgI1yfvsdWZKjggIoMIICJDAOBgNVHQ8BAf8EBAMCB4AwHQYD
+VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0O
+BBYEFDrX3YMJRcbuK0AYDxHzn3iY4KQ7MB8GA1UdIwQYMBaAFK5IntyHHUSgb9qi
+5WB0BHjCnACAMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAoYWaHR0cDovL2U3
+LmkubGVuY3Iub3JnLzAmBgNVHREEHzAdght0eXBlZGVtby5zaXRlLnF1YWNrLWxh
+Yi5kZXYwEwYDVR0gBAwwCjAIBgZngQwBAgEwLQYDVR0fBCYwJDAioCCgHoYcaHR0
+cDovL2U3LmMubGVuY3Iub3JnLzYxLmNybDCCAQMGCisGAQQB1nkCBAIEgfQEgfEA
+7wB2AGQRxGykEuyniRyiAi4AvKtPKAfUHjUnq+r+1QPJfc3wAAABmjq1mpwAAAQD
+AEcwRQIhANSh8NocSL1MHj2jISiyeoDuFH4oQaXSYdBzdahqM5h2AiA62MZr5ZDn
+nUUyojCz6Lv04gPb/uIBU9dPDjtQrqGakgB1AJaXZL9VWJet90OHaDcIQnfp8DrV
+9qTzNm5GpD8PyqnGAAABmjq1mt0AAAQDAEYwRAIgexxvAxjS24nk26IHohdWHHby
+tkHtsDF5VjIF7ef4JJkCIGoe8ujL+aF+FsOMSqslEOBeyK2kgZjZ9Bvyakzu2Ba5
+MAoGCCqGSM49BAMDA2cAMGQCMGQR0Qm8LfK8FHYbg5MenWqZhiyPAlGFdxffhMIJ
+9krv4shr3jfoF39DpyIYOIT9XAIwXTgOOeSF74VUQtmMQX45pCt1KysVgQigfKNz
+CDogm6J3VrfPAU/bAENBRpMzy2/g
+-----END CERTIFICATE-----
+
+-----BEGIN CERTIFICATE-----
+MIIEVzCCAj+gAwIBAgIRAKp18eYrjwoiCWbTi7/UuqEwDQYJKoZIhvcNAQELBQAw
+TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
+cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjQwMzEzMDAwMDAw
+WhcNMjcwMzEyMjM1OTU5WjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
+RW5jcnlwdDELMAkGA1UEAxMCRTcwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARB6AST
+CFh/vjcwDMCgQer+VtqEkz7JANurZxLP+U9TCeioL6sp5Z8VRvRbYk4P1INBmbef
+QHJFHCxcSjKmwtvGBWpl/9ra8HW0QDsUaJW2qOJqceJ0ZVFT3hbUHifBM/2jgfgw
+gfUwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD
+ATASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBSuSJ7chx1EoG/aouVgdAR4
+wpwAgDAfBgNVHSMEGDAWgBR5tFnme7bl5AFzgAiIyBpY9umbbjAyBggrBgEFBQcB
+AQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly94MS5pLmxlbmNyLm9yZy8wEwYDVR0g
+BAwwCjAIBgZngQwBAgEwJwYDVR0fBCAwHjAcoBqgGIYWaHR0cDovL3gxLmMubGVu
+Y3Iub3JnLzANBgkqhkiG9w0BAQsFAAOCAgEAjx66fDdLk5ywFn3CzA1w1qfylHUD
+aEf0QZpXcJseddJGSfbUUOvbNR9N/QQ16K1lXl4VFyhmGXDT5Kdfcr0RvIIVrNxF
+h4lqHtRRCP6RBRstqbZ2zURgqakn/Xip0iaQL0IdfHBZr396FgknniRYFckKORPG
+yM3QKnd66gtMst8I5nkRQlAg/Jb+Gc3egIvuGKWboE1G89NTsN9LTDD3PLj0dUMr
+OIuqVjLB8pEC6yk9enrlrqjXQgkLEYhXzq7dLafv5Vkig6Gl0nuuqjqfp0Q1bi1o
+yVNAlXe6aUXw92CcghC9bNsKEO1+M52YY5+ofIXlS/SEQbvVYYBLZ5yeiglV6t3S
+M6H+vTG0aP9YHzLn/KVOHzGQfXDP7qM5tkf+7diZe7o2fw6O7IvN6fsQXEQQj8TJ
+UXJxv2/uJhcuy/tSDgXwHM8Uk34WNbRT7zGTGkQRX0gsbjAea/jYAoWv0ZvQRwpq
+Pe79D/i7Cep8qWnA+7AE/3B3S/3dEEYmc0lpe1366A/6GEgk3ktr9PEoQrLChs6I
+tu3wnNLB2euC8IKGLQFpGtOO/2/hiAKjyajaBP25w1jF0Wl8Bbqne3uZ2q1GyPFJ
+YRmT7/OXpmOH/FVLtwS+8ng1cAmpCujPwteJZNcDG0sF2n/sc0+SQf49fdyUK0ty
++VUwFj9tmWxyR/M=
+-----END CERTIFICATE-----
diff --git a/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/typedemo.site.quack-lab.dev/typedemo.site.quack-lab.dev.json b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/typedemo.site.quack-lab.dev/typedemo.site.quack-lab.dev.json
new file mode 100644
index 0000000..a41c994
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/typedemo.site.quack-lab.dev/typedemo.site.quack-lab.dev.json
@@ -0,0 +1,9 @@
+{
+ "sans": [
+ "typedemo.site.quack-lab.dev"
+ ],
+ "issuer_data": {
+ "url": "https://acme-v02.api.letsencrypt.org/acme/cert/054b4cfe86d6807c2489d5d493970aa9f8bc",
+ "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/typedemo.site.quack-lab.dev/typedemo.site.quack-lab.dev.key b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/typedemo.site.quack-lab.dev/typedemo.site.quack-lab.dev.key
new file mode 100644
index 0000000..6e9d293
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/typedemo.site.quack-lab.dev/typedemo.site.quack-lab.dev.key
@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIBSe/kpk11V+14w/YEGZiP+w45M319zblAVPBV9WKSBHoAoGCCqGSM49
+AwEHoUQDQgAE8zXHrumEnZf70H8JQBhXZedAYE2Jm3OMjGG7eEdYSBRRskYfRWyu
+lVnqhlcciO89ShXd+1oljpCAjXJ++x1Zkg==
+-----END EC PRIVATE KEY-----
diff --git a/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/typesense-admin.site.quack-lab.dev/typesense-admin.site.quack-lab.dev.crt b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/typesense-admin.site.quack-lab.dev/typesense-admin.site.quack-lab.dev.crt
new file mode 100644
index 0000000..92beb68
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/typesense-admin.site.quack-lab.dev/typesense-admin.site.quack-lab.dev.crt
@@ -0,0 +1,49 @@
+-----BEGIN CERTIFICATE-----
+MIIDsDCCAzagAwIBAgISBaxsinSK2sj13a83Ui/zsZtbMAoGCCqGSM49BAMDMDIx
+CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
+ODAeFw0yNTEwMjkxNzE1MzhaFw0yNjAxMjcxNzE1MzdaMC0xKzApBgNVBAMTInR5
+cGVzZW5zZS1hZG1pbi5zaXRlLnF1YWNrLWxhYi5kZXYwWTATBgcqhkjOPQIBBggq
+hkjOPQMBBwNCAAS9w+fgZofe+gv6ueNZs1+Px8f3NV11TzHrUsw6+oxqbPCvcu/2
+4DxsNUthzGMUWMdJDS1PH8C55xVC+pdOSchno4ICLzCCAiswDgYDVR0PAQH/BAQD
+AgeAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAA
+MB0GA1UdDgQWBBQ5xkhocyS44WIEOb+KZXHCp5Y1rzAfBgNVHSMEGDAWgBSPDROi
+9i5+0VBsMxg4XVmOI3KRyjAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAKGFmh0
+dHA6Ly9lOC5pLmxlbmNyLm9yZy8wLQYDVR0RBCYwJIIidHlwZXNlbnNlLWFkbWlu
+LnNpdGUucXVhY2stbGFiLmRldjATBgNVHSAEDDAKMAgGBmeBDAECATAtBgNVHR8E
+JjAkMCKgIKAehhxodHRwOi8vZTguYy5sZW5jci5vcmcvOTIuY3JsMIIBAwYKKwYB
+BAHWeQIEAgSB9ASB8QDvAHYASZybad4dfOz8Nt7Nh2SmuFuvCoeAGdFVUvvp6ynd
++MMAAAGaMS1fmAAABAMARzBFAiEA1TYZIm4NTKL2kNEAfDY9iAOphTu22wmUNnfk
+Au8FSiICIDja0uLYXX3dxjWmoIGkFGX3Fc2eAwXt7iBW73Sp5CW9AHUAyzj3FYl8
+hKFEX1vB3fvJbvKaWc1HCmkFhbDLFMMUWOcAAAGaMS1fowAABAMARjBEAiAocSYe
+GdOXOKTS38M0u9cJAoTe/WudShkUdj0r+xxZMwIged/YC43vhzT/nANhwWLBhy7d
+rpzQin1QeBYzBSmWLaswCgYIKoZIzj0EAwMDaAAwZQIwJFgUu/eBary4jKwz+RB9
+Gy8jyDhTAyRQPrahvBjcL49+kvMIKDGNioz34iNaN/UUAjEA6nBSTeDJqomxOU1l
+Yp3A3G9M8bZ0EWhuOjFcTjCj/Wx0FCyQJjElU+xoK4mfbHRj
+-----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/typesense-admin.site.quack-lab.dev/typesense-admin.site.quack-lab.dev.json b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/typesense-admin.site.quack-lab.dev/typesense-admin.site.quack-lab.dev.json
new file mode 100644
index 0000000..9161b20
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/typesense-admin.site.quack-lab.dev/typesense-admin.site.quack-lab.dev.json
@@ -0,0 +1,9 @@
+{
+ "sans": [
+ "typesense-admin.site.quack-lab.dev"
+ ],
+ "issuer_data": {
+ "url": "https://acme-v02.api.letsencrypt.org/acme/cert/05ac6c8a748adac8f5ddaf37522ff3b19b5b",
+ "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/typesense-admin.site.quack-lab.dev/typesense-admin.site.quack-lab.dev.key b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/typesense-admin.site.quack-lab.dev/typesense-admin.site.quack-lab.dev.key
new file mode 100644
index 0000000..b4c4538
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/typesense-admin.site.quack-lab.dev/typesense-admin.site.quack-lab.dev.key
@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIO/tChx5gc4ETdJsP7doT/90FG26mBmAGVoSOK5XL0RVoAoGCCqGSM49
+AwEHoUQDQgAEvcPn4GaH3voL+rnjWbNfj8fH9zVddU8x61LMOvqMamzwr3Lv9uA8
+bDVLYcxjFFjHSQ0tTx/AuecVQvqXTknIZw==
+-----END EC PRIVATE KEY-----
diff --git a/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/vikunja-typesense-admin.site.quack-lab.dev/vikunja-typesense-admin.site.quack-lab.dev.crt b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/vikunja-typesense-admin.site.quack-lab.dev/vikunja-typesense-admin.site.quack-lab.dev.crt
new file mode 100644
index 0000000..fb2a7ef
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/vikunja-typesense-admin.site.quack-lab.dev/vikunja-typesense-admin.site.quack-lab.dev.crt
@@ -0,0 +1,50 @@
+-----BEGIN CERTIFICATE-----
+MIIDwDCCA0agAwIBAgISBpKE9e8nZ2ivfIhQHjvBkZnZMAoGCCqGSM49BAMDMDIx
+CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
+ODAeFw0yNTEwMzExMzQ5MTNaFw0yNjAxMjkxMzQ5MTJaMDUxMzAxBgNVBAMTKnZp
+a3VuamEtdHlwZXNlbnNlLWFkbWluLnNpdGUucXVhY2stbGFiLmRldjBZMBMGByqG
+SM49AgEGCCqGSM49AwEHA0IABHtIIR4Tv4CAXdCyiTu7/vh93IHxzrO6Q7agWtQ5
+JrH0EYQhONPidhZ7FjcYa64G7K5ChmJK5uPsHcAMD28EXFGjggI3MIICMzAOBgNV
+HQ8BAf8EBAMCB4AwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1Ud
+EwEB/wQCMAAwHQYDVR0OBBYEFPK5HttVrDTGTtq8pEvWOeTMAZzfMB8GA1UdIwQY
+MBaAFI8NE6L2Ln7RUGwzGDhdWY4jcpHKMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEF
+BQcwAoYWaHR0cDovL2U4LmkubGVuY3Iub3JnLzA1BgNVHREELjAsgip2aWt1bmph
+LXR5cGVzZW5zZS1hZG1pbi5zaXRlLnF1YWNrLWxhYi5kZXYwEwYDVR0gBAwwCjAI
+BgZngQwBAgEwLQYDVR0fBCYwJDAioCCgHoYcaHR0cDovL2U4LmMubGVuY3Iub3Jn
+LzkwLmNybDCCAQMGCisGAQQB1nkCBAIEgfQEgfEA7wB1ABmG1Mcoqm/+ugNveCpN
+AZGqzi1yMQ+uzl1wQS0lTMfUAAABmjq9HLQAAAQDAEYwRAIgeIBs30VaU1wNJuzR
+wxlEPs2jQZGi5LUHWR4eXTLtPQMCICNCfUMT+e+Vo4ch0b9AnzDUioToG4wsk7T1
+cHQ+511UAHYAlpdkv1VYl633Q4doNwhCd+nwOtX2pPM2bkakPw/KqcYAAAGaOr0d
+AQAABAMARzBFAiEAjuMsDhXnfKExZnsDuWW3EIIF6gw2+oZf4eZ4a2xggzsCIGCH
+dO4PLQxs9faZ0gkRX6fobVFhPkXvP8pInmUK1KtYMAoGCCqGSM49BAMDA2gAMGUC
+MEtYR3L1q1fK7WJRBLwdl+BKs2BNvyAUUg30S9XuBa0CODww8lvPI1Nj6guN6ssQ
+QQIxAOcxDTzcG2Ljabi8NySovf4QmyG+OKV2XJKHVD+14y+tVoqAOwj4BzpXN8VO
+7CGBNA==
+-----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/vikunja-typesense-admin.site.quack-lab.dev/vikunja-typesense-admin.site.quack-lab.dev.json b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/vikunja-typesense-admin.site.quack-lab.dev/vikunja-typesense-admin.site.quack-lab.dev.json
new file mode 100644
index 0000000..00b0457
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/vikunja-typesense-admin.site.quack-lab.dev/vikunja-typesense-admin.site.quack-lab.dev.json
@@ -0,0 +1,9 @@
+{
+ "sans": [
+ "vikunja-typesense-admin.site.quack-lab.dev"
+ ],
+ "issuer_data": {
+ "url": "https://acme-v02.api.letsencrypt.org/acme/cert/069284f5ef276768af7c88501e3bc19199d9",
+ "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/vikunja-typesense-admin.site.quack-lab.dev/vikunja-typesense-admin.site.quack-lab.dev.key b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/vikunja-typesense-admin.site.quack-lab.dev/vikunja-typesense-admin.site.quack-lab.dev.key
new file mode 100644
index 0000000..bc05df1
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/vikunja-typesense-admin.site.quack-lab.dev/vikunja-typesense-admin.site.quack-lab.dev.key
@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIHQ/FwYNECDiYpkHKAkK1Hw9xMpsvm9zmjS67+pqlWO9oAoGCCqGSM49
+AwEHoUQDQgAEe0ghHhO/gIBd0LKJO7v++H3cgfHOs7pDtqBa1DkmsfQRhCE40+J2
+FnsWNxhrrgbsrkKGYkrm4+wdwAwPbwRcUQ==
+-----END EC PRIVATE KEY-----
diff --git a/coolify/proxy/caddy/data/caddy/last_clean.json b/coolify/proxy/caddy/data/caddy/last_clean.json
index 2111dcd..60c3a74 100644
--- a/coolify/proxy/caddy/data/caddy/last_clean.json
+++ b/coolify/proxy/caddy/data/caddy/last_clean.json
@@ -1 +1 @@
-{"tls":{"timestamp":"2025-10-28T20:12:11.977723736Z","instance_id":"dbe630cc-bc9f-443e-b311-aec406294c5c"}}
\ No newline at end of file
+{"tls":{"timestamp":"2025-11-07T11:25:14.512295691Z","instance_id":"dbe630cc-bc9f-443e-b311-aec406294c5c"}}
\ No newline at end of file
diff --git a/coolify/proxy/caddy/dynamic/coolify.caddy b/coolify/proxy/caddy/dynamic/dozzle.caddy
similarity index 67%
rename from coolify/proxy/caddy/dynamic/coolify.caddy
rename to coolify/proxy/caddy/dynamic/dozzle.caddy
index 4f30648..0694686 100644
--- a/coolify/proxy/caddy/dynamic/coolify.caddy
+++ b/coolify/proxy/caddy/dynamic/dozzle.caddy
@@ -1,11 +1,11 @@
-coolify.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 86.33.11.123
- }
- handle @lan {
- reverse_proxy host.docker.internal:8000
- }
- handle {
- respond "Njet Molotoff" 403
- }
+dozzle.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 86.33.11.123
+ }
+ handle @lan {
+ reverse_proxy dozzle:8080
+ }
+ handle {
+ respond "Njet Molotoff" 403
+ }
}
\ No newline at end of file
diff --git a/coolify/proxy/caddy/dynamic/monitoring.caddy b/coolify/proxy/caddy/dynamic/monitoring.caddy
index e775330..23262eb 100644
--- a/coolify/proxy/caddy/dynamic/monitoring.caddy
+++ b/coolify/proxy/caddy/dynamic/monitoring.caddy
@@ -1,81 +1,71 @@
-prometheus.site.quack-lab.dev vmagent.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 86.33.11.123
- }
- handle @lan {
- reverse_proxy host.docker.internal:43261
- }
- handle {
- respond "Njet Molotoff" 403
- }
-}
-
-victoria.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 86.33.11.123
- }
- handle @lan {
- reverse_proxy host.docker.internal:8428
- }
- handle {
- respond "Njet Molotoff" 403
- }
-}
-
-grafana.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 86.33.11.123
- }
- handle @lan {
- reverse_proxy grafana-jococcw004848ck4k0owwww0:43433
- }
- handle {
- respond "Njet Molotoff" 403
- }
-}
-
-nodeexporter-sparky.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 86.33.11.123
- }
- handle @lan {
- reverse_proxy host.docker.internal:56546
- }
- handle {
- respond "Njet Molotoff" 403
- }
-}
-
-libre-metrics-exporter-dave.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 86.33.11.123
- }
- handle @lan {
- reverse_proxy 192.168.1.64:9646
- }
- handle {
- respond "Njet Molotoff" 403
- }
-}
-libre-metrics-exporter-jana.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 86.33.11.123
- }
- handle @lan {
- reverse_proxy 192.168.1.68:9646
- }
- 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 86.33.11.123
- }
- handle @lan {
- reverse_proxy host.docker.internal:9646
- }
- handle {
- respond "Njet Molotoff" 403
- }
+prometheus.site.quack-lab.dev vmagent.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 86.33.11.123
+ }
+ handle @lan {
+ reverse_proxy host.docker.internal:43261
+ }
+ handle {
+ respond "Njet Molotoff" 403
+ }
+}
+victoria.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 86.33.11.123
+ }
+ handle @lan {
+ reverse_proxy host.docker.internal:8428
+ }
+ handle {
+ respond "Njet Molotoff" 403
+ }
+}
+grafana.site.quack-lab.dev {
+ handle {
+ reverse_proxy grafana-jococcw004848ck4k0owwww0:43433
+ }
+}
+nodeexporter-sparky.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 86.33.11.123
+ }
+ handle @lan {
+ reverse_proxy host.docker.internal:56546
+ }
+ handle {
+ respond "Njet Molotoff" 403
+ }
+}
+libre-metrics-exporter-dave.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 86.33.11.123
+ }
+ handle @lan {
+ reverse_proxy 192.168.1.64:9646
+ }
+ handle {
+ respond "Njet Molotoff" 403
+ }
+}
+libre-metrics-exporter-jana.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 86.33.11.123
+ }
+ handle @lan {
+ reverse_proxy 192.168.1.68:9646
+ }
+ 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 86.33.11.123
+ }
+ handle @lan {
+ reverse_proxy host.docker.internal:20132
+ }
+ handle {
+ respond "Njet Molotoff" 403
+ }
}
\ No newline at end of file
diff --git a/coolify/proxy/caddy/dynamic/vikunja.caddy b/coolify/proxy/caddy/dynamic/vikunja.caddy
new file mode 100644
index 0000000..b9d0432
--- /dev/null
+++ b/coolify/proxy/caddy/dynamic/vikunja.caddy
@@ -0,0 +1,11 @@
+vikunja-typesense-admin.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 86.33.11.123
+ }
+ handle @lan {
+ reverse_proxy typesense-admin:80
+ }
+ handle {
+ respond "Njet Molotoff" 403
+ }
+}
\ No newline at end of file
diff --git a/coolify/proxy/caddy/service-man/.services.toml.swp b/coolify/proxy/caddy/service-man/.services.toml.swp
deleted file mode 100644
index d693739..0000000
Binary files a/coolify/proxy/caddy/service-man/.services.toml.swp and /dev/null differ
diff --git a/coolify/proxy/caddy/service-man/services.toml b/coolify/proxy/caddy/service-man/services.toml
index c459e00..cb9bd5d 100644
--- a/coolify/proxy/caddy/service-man/services.toml
+++ b/coolify/proxy/caddy/service-man/services.toml
@@ -34,11 +34,11 @@ services = [
services = [
{ domains = ["prometheus.site.quack-lab.dev", "vmagent.site.quack-lab.dev"], backend = "host.docker.internal:43261", ip_range = "lan" },
{ domains = ["victoria.site.quack-lab.dev"], backend = "host.docker.internal:8428", ip_range = "lan" },
- { domains = ["grafana.site.quack-lab.dev"], backend = "grafana-jococcw004848ck4k0owwww0:43433", ip_range = "lan" },
+ { domains = ["grafana.site.quack-lab.dev"], backend = "grafana-jococcw004848ck4k0owwww0:43433", ip_range = "any" },
{ domains = ["nodeexporter-sparky.site.quack-lab.dev"], backend = "host.docker.internal:56546", ip_range = "lan" },
{ domains = ["libre-metrics-exporter-dave.site.quack-lab.dev"], backend = "192.168.1.64:9646", ip_range = "lan" },
{ domains = ["libre-metrics-exporter-jana.site.quack-lab.dev"], backend = "192.168.1.68:9646", ip_range = "lan" },
- { domains = ["power-meter-reader.site.quack-lab.dev"], backend = "host.docker.internal:9646", ip_range = "lan" }
+ { domains = ["power-meter-reader.site.quack-lab.dev"], backend = "host.docker.internal:20132", ip_range = "lan" }
]
[files.pdf]
@@ -72,3 +72,13 @@ services = [
# # { domains = ["adguard.site.quack-lab.dev"], backend = "adguard:80", ip_range = "any" },
# # { domains = ["adguard-dns.site.quack-lab.dev"], backend = "adguard:53", ip_range = "any" }
# ]
+
+[files.dozzle]
+services = [
+ { domains = ["dozzle.site.quack-lab.dev"], backend = "dozzle:8080", ip_range = "lan" }
+]
+
+[files.vikunja]
+services = [
+ { domains = ["vikunja-typesense-admin.site.quack-lab.dev"], backend = "typesense-admin:80", ip_range = "lan" }
+]
diff --git a/coolify/services/eoogog00okg88o408swg4840/.env b/coolify/services/eoogog00okg88o408swg4840/.env
new file mode 100644
index 0000000..7d4eba2
--- /dev/null
+++ b/coolify/services/eoogog00okg88o408swg4840/.env
@@ -0,0 +1,13 @@
+SERVICE_NAME_JOURNAL_TYPESENSE=journal-typesense
+SERVICE_NAME_JOURNAL_TYPESENSE_ADMIN=journal-typesense-admin
+SERVICE_FQDN_JOURNAL_TYPESENSE=journal-typesense.site.quack-lab.dev
+SERVICE_FQDN_JOURNAL_TYPESENSE_8108=journal-typesense.site.quack-lab.dev
+SERVICE_FQDN_JOURNAL_TYPESENSE_ADMIN=journal-typesense-admin.site.quack-lab.dev
+SERVICE_FQDN_JOURNAL_TYPESENSE_ADMIN_80=journal-typesense-admin.site.quack-lab.dev
+SERVICE_URL_JOURNAL_TYPESENSE=https://journal-typesense.site.quack-lab.dev
+SERVICE_URL_JOURNAL_TYPESENSE_8108=https://journal-typesense.site.quack-lab.dev
+SERVICE_URL_JOURNAL_TYPESENSE_ADMIN=https://journal-typesense-admin.site.quack-lab.dev
+SERVICE_URL_JOURNAL_TYPESENSE_ADMIN_80=https://journal-typesense-admin.site.quack-lab.dev
+SERVICE_URL_TYPESENSE=https://journal-typesense.site.quack-lab.dev
+TYPESENSE_API_KEY=wUXc49HAA82IF8b9yIP7HB7ffjcvv55e
+TYPESENSE_ENABLE_CORS=true
\ No newline at end of file
diff --git a/coolify/services/eoogog00okg88o408swg4840/docker-compose.yml b/coolify/services/eoogog00okg88o408swg4840/docker-compose.yml
new file mode 100644
index 0000000..d247562
--- /dev/null
+++ b/coolify/services/eoogog00okg88o408swg4840/docker-compose.yml
@@ -0,0 +1,122 @@
+services:
+ journal-typesense:
+ image: 'typesense/typesense:28.0'
+ environment:
+ SERVICE_URL_TYPESENSE_8108: null
+ TYPESENSE_ENABLE_CORS: '${TYPESENSE_ENABLE_CORS:-true}'
+ TYPESENSE_DATA_DIR: /data
+ TYPESENSE_API_KEY: '${TYPESENSE_API_KEY:?}'
+ COOLIFY_RESOURCE_UUID: eoogog00okg88o408swg4840
+ COOLIFY_CONTAINER_NAME: journal-typesense-eoogog00okg88o408swg4840
+ COOLIFY_FQDN: journal-typesense.site.quack-lab.dev
+ COOLIFY_URL: 'https://journal-typesense.site.quack-lab.dev'
+ SERVICE_NAME_JOURNAL_TYPESENSE: journal-typesense
+ SERVICE_NAME_JOURNAL_TYPESENSE_ADMIN: journal-typesense-admin
+ volumes:
+ - 'eoogog00okg88o408swg4840_typesense-data:/data'
+ healthcheck:
+ test:
+ - CMD
+ - bash
+ - '-c'
+ - 'exec 3<>/dev/tcp/localhost/8108 && printf ''GET /health HTTP/1.1\r\nConnection: close\r\n\r\n'' >&3 && head -n1 <&3 | grep ''200'' && exec 3>&-'
+ retries: 5
+ timeout: 7s
+ container_name: journal-typesense-eoogog00okg88o408swg4840
+ restart: unless-stopped
+ labels:
+ - coolify.managed=true
+ - coolify.version=4.0.0-beta.434
+ - coolify.serviceId=53
+ - coolify.type=service
+ - coolify.name=journal-typesense-eoogog00okg88o408swg4840
+ - coolify.resourceName=journaler
+ - coolify.projectName=services
+ - coolify.serviceName=journal-typesense
+ - coolify.environmentName=production
+ - coolify.pullRequestId=0
+ - coolify.service.subId=92
+ - coolify.service.subType=application
+ - coolify.service.subName=journal-typesense
+ - traefik.enable=true
+ - traefik.http.middlewares.gzip.compress=true
+ - traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
+ - traefik.http.routers.http-0-eoogog00okg88o408swg4840-journal-typesense.entryPoints=http
+ - traefik.http.routers.http-0-eoogog00okg88o408swg4840-journal-typesense.middlewares=redirect-to-https
+ - 'traefik.http.routers.http-0-eoogog00okg88o408swg4840-journal-typesense.rule=Host(`journal-typesense.site.quack-lab.dev`) && PathPrefix(`/`)'
+ - traefik.http.routers.http-0-eoogog00okg88o408swg4840-journal-typesense.service=http-0-eoogog00okg88o408swg4840-journal-typesense
+ - traefik.http.routers.https-0-eoogog00okg88o408swg4840-journal-typesense.entryPoints=https
+ - traefik.http.routers.https-0-eoogog00okg88o408swg4840-journal-typesense.middlewares=gzip
+ - 'traefik.http.routers.https-0-eoogog00okg88o408swg4840-journal-typesense.rule=Host(`journal-typesense.site.quack-lab.dev`) && PathPrefix(`/`)'
+ - traefik.http.routers.https-0-eoogog00okg88o408swg4840-journal-typesense.service=https-0-eoogog00okg88o408swg4840-journal-typesense
+ - traefik.http.routers.https-0-eoogog00okg88o408swg4840-journal-typesense.tls.certresolver=letsencrypt
+ - traefik.http.routers.https-0-eoogog00okg88o408swg4840-journal-typesense.tls=true
+ - traefik.http.services.http-0-eoogog00okg88o408swg4840-journal-typesense.loadbalancer.server.port=8108
+ - traefik.http.services.https-0-eoogog00okg88o408swg4840-journal-typesense.loadbalancer.server.port=8108
+ - 'caddy_0.encode=zstd gzip'
+ - 'caddy_0.handle_path.0_reverse_proxy={{upstreams 8108}}'
+ - 'caddy_0.handle_path=/*'
+ - caddy_0.header=-Server
+ - 'caddy_0.try_files={path} /index.html /index.php'
+ - 'caddy_0=https://journal-typesense.site.quack-lab.dev'
+ - caddy_ingress_network=eoogog00okg88o408swg4840
+ networks:
+ eoogog00okg88o408swg4840: null
+ journal-typesense-admin:
+ image: 'ghcr.io/bfritscher/typesense-dashboard:latest'
+ container_name: journal-typesense-admin-eoogog00okg88o408swg4840
+ restart: unless-stopped
+ labels:
+ - coolify.managed=true
+ - coolify.version=4.0.0-beta.434
+ - coolify.serviceId=53
+ - coolify.type=service
+ - coolify.name=journal-typesense-admin-eoogog00okg88o408swg4840
+ - coolify.resourceName=journaler
+ - coolify.projectName=services
+ - coolify.serviceName=journal-typesense-admin
+ - coolify.environmentName=production
+ - coolify.pullRequestId=0
+ - coolify.service.subId=93
+ - coolify.service.subType=application
+ - coolify.service.subName=journal-typesense-admin
+ - traefik.enable=true
+ - traefik.http.middlewares.gzip.compress=true
+ - traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
+ - traefik.http.routers.http-0-eoogog00okg88o408swg4840-journal-typesense-admin.entryPoints=http
+ - traefik.http.routers.http-0-eoogog00okg88o408swg4840-journal-typesense-admin.middlewares=redirect-to-https
+ - 'traefik.http.routers.http-0-eoogog00okg88o408swg4840-journal-typesense-admin.rule=Host(`journal-typesense-admin.site.quack-lab.dev`) && PathPrefix(`/`)'
+ - traefik.http.routers.http-0-eoogog00okg88o408swg4840-journal-typesense-admin.service=http-0-eoogog00okg88o408swg4840-journal-typesense-admin
+ - traefik.http.routers.https-0-eoogog00okg88o408swg4840-journal-typesense-admin.entryPoints=https
+ - traefik.http.routers.https-0-eoogog00okg88o408swg4840-journal-typesense-admin.middlewares=gzip
+ - 'traefik.http.routers.https-0-eoogog00okg88o408swg4840-journal-typesense-admin.rule=Host(`journal-typesense-admin.site.quack-lab.dev`) && PathPrefix(`/`)'
+ - traefik.http.routers.https-0-eoogog00okg88o408swg4840-journal-typesense-admin.service=https-0-eoogog00okg88o408swg4840-journal-typesense-admin
+ - traefik.http.routers.https-0-eoogog00okg88o408swg4840-journal-typesense-admin.tls.certresolver=letsencrypt
+ - traefik.http.routers.https-0-eoogog00okg88o408swg4840-journal-typesense-admin.tls=true
+ - traefik.http.services.http-0-eoogog00okg88o408swg4840-journal-typesense-admin.loadbalancer.server.port=80
+ - traefik.http.services.https-0-eoogog00okg88o408swg4840-journal-typesense-admin.loadbalancer.server.port=80
+ - 'caddy_0.encode=zstd gzip'
+ - 'caddy_0.handle_path.0_reverse_proxy={{upstreams 80}}'
+ - 'caddy_0.handle_path=/*'
+ - caddy_0.header=-Server
+ - 'caddy_0.try_files={path} /index.html /index.php'
+ - 'caddy_0=https://journal-typesense-admin.site.quack-lab.dev'
+ - caddy_ingress_network=eoogog00okg88o408swg4840
+ networks:
+ eoogog00okg88o408swg4840: null
+ environment:
+ COOLIFY_RESOURCE_UUID: eoogog00okg88o408swg4840
+ COOLIFY_CONTAINER_NAME: journal-typesense-admin-eoogog00okg88o408swg4840
+ COOLIFY_FQDN: journal-typesense-admin.site.quack-lab.dev
+ COOLIFY_URL: 'https://journal-typesense-admin.site.quack-lab.dev'
+ SERVICE_NAME_JOURNAL_TYPESENSE: journal-typesense
+ SERVICE_NAME_JOURNAL_TYPESENSE_ADMIN: journal-typesense-admin
+volumes:
+ eoogog00okg88o408swg4840_typesense-data:
+ name: eoogog00okg88o408swg4840_typesense-data
+networks:
+ eoogog00okg88o408swg4840:
+ name: eoogog00okg88o408swg4840
+ external: true
+configs: { }
+secrets: { }
diff --git a/coolify/services/gc884cswk4k8c0ww4co400k4/.env b/coolify/services/gc884cswk4k8c0ww4co400k4/.env
new file mode 100644
index 0000000..d28c7c9
--- /dev/null
+++ b/coolify/services/gc884cswk4k8c0ww4co400k4/.env
@@ -0,0 +1,5 @@
+SERVICE_NAME_CRONICLE=cronicle
+SERVICE_FQDN_CRONICLE=cronicle.site.quack-lab.dev
+SERVICE_FQDN_CRONICLE_3012=cronicle.site.quack-lab.dev
+SERVICE_URL_CRONICLE=https://cronicle.site.quack-lab.dev
+SERVICE_URL_CRONICLE_3012=https://cronicle.site.quack-lab.dev
\ No newline at end of file
diff --git a/coolify/services/gc884cswk4k8c0ww4co400k4/docker-compose.yml b/coolify/services/gc884cswk4k8c0ww4co400k4/docker-compose.yml
new file mode 100644
index 0000000..52a96be
--- /dev/null
+++ b/coolify/services/gc884cswk4k8c0ww4co400k4/docker-compose.yml
@@ -0,0 +1,69 @@
+services:
+ cronicle:
+ image: 'soulteary/cronicle:0.9.80'
+ volumes:
+ - '/etc/localtime:/etc/localtime:ro'
+ - '/etc/timezone:/etc/timezone:ro'
+ - 'gc884cswk4k8c0ww4co400k4_cronicle-data:/opt/cronicle/data'
+ - 'gc884cswk4k8c0ww4co400k4_cronicle-logs:/opt/cronicle/logs'
+ - 'gc884cswk4k8c0ww4co400k4_cronicle-plugins:/opt/cronicle/plugins'
+ environment:
+ TZ: Europe/Zagreb
+ COOLIFY_RESOURCE_UUID: gc884cswk4k8c0ww4co400k4
+ COOLIFY_CONTAINER_NAME: cronicle-gc884cswk4k8c0ww4co400k4
+ COOLIFY_FQDN: cronicle.site.quack-lab.dev
+ COOLIFY_URL: 'https://cronicle.site.quack-lab.dev'
+ SERVICE_NAME_CRONICLE: cronicle
+ container_name: cronicle-gc884cswk4k8c0ww4co400k4
+ restart: unless-stopped
+ labels:
+ - coolify.managed=true
+ - coolify.version=4.0.0-beta.441
+ - coolify.serviceId=54
+ - coolify.type=service
+ - coolify.name=cronicle-gc884cswk4k8c0ww4co400k4
+ - coolify.resourceName=cronicle
+ - coolify.projectName=services
+ - coolify.serviceName=cronicle
+ - coolify.environmentName=production
+ - coolify.pullRequestId=0
+ - coolify.service.subId=94
+ - coolify.service.subType=application
+ - coolify.service.subName=cronicle
+ - traefik.enable=true
+ - traefik.http.middlewares.gzip.compress=true
+ - traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
+ - traefik.http.routers.http-0-gc884cswk4k8c0ww4co400k4-cronicle.entryPoints=http
+ - traefik.http.routers.http-0-gc884cswk4k8c0ww4co400k4-cronicle.middlewares=redirect-to-https
+ - 'traefik.http.routers.http-0-gc884cswk4k8c0ww4co400k4-cronicle.rule=Host(`cronicle.site.quack-lab.dev`) && PathPrefix(`/`)'
+ - traefik.http.routers.http-0-gc884cswk4k8c0ww4co400k4-cronicle.service=http-0-gc884cswk4k8c0ww4co400k4-cronicle
+ - traefik.http.routers.https-0-gc884cswk4k8c0ww4co400k4-cronicle.entryPoints=https
+ - traefik.http.routers.https-0-gc884cswk4k8c0ww4co400k4-cronicle.middlewares=gzip
+ - 'traefik.http.routers.https-0-gc884cswk4k8c0ww4co400k4-cronicle.rule=Host(`cronicle.site.quack-lab.dev`) && PathPrefix(`/`)'
+ - traefik.http.routers.https-0-gc884cswk4k8c0ww4co400k4-cronicle.service=https-0-gc884cswk4k8c0ww4co400k4-cronicle
+ - traefik.http.routers.https-0-gc884cswk4k8c0ww4co400k4-cronicle.tls.certresolver=letsencrypt
+ - traefik.http.routers.https-0-gc884cswk4k8c0ww4co400k4-cronicle.tls=true
+ - traefik.http.services.http-0-gc884cswk4k8c0ww4co400k4-cronicle.loadbalancer.server.port=3012
+ - traefik.http.services.https-0-gc884cswk4k8c0ww4co400k4-cronicle.loadbalancer.server.port=3012
+ - 'caddy_0.encode=zstd gzip'
+ - 'caddy_0.handle_path.0_reverse_proxy={{upstreams 3012}}'
+ - 'caddy_0.handle_path=/*'
+ - caddy_0.header=-Server
+ - 'caddy_0.try_files={path} /index.html /index.php'
+ - 'caddy_0=https://cronicle.site.quack-lab.dev'
+ - caddy_ingress_network=gc884cswk4k8c0ww4co400k4
+ networks:
+ gc884cswk4k8c0ww4co400k4: null
+volumes:
+ gc884cswk4k8c0ww4co400k4_cronicle-data:
+ name: gc884cswk4k8c0ww4co400k4_cronicle-data
+ gc884cswk4k8c0ww4co400k4_cronicle-logs:
+ name: gc884cswk4k8c0ww4co400k4_cronicle-logs
+ gc884cswk4k8c0ww4co400k4_cronicle-plugins:
+ name: gc884cswk4k8c0ww4co400k4_cronicle-plugins
+networks:
+ gc884cswk4k8c0ww4co400k4:
+ name: gc884cswk4k8c0ww4co400k4
+ external: true
+configs: { }
+secrets: { }
diff --git a/coolify/services/og0k8kkcg00soww00kgsc0oo/.env b/coolify/services/og0k8kkcg00soww00kgsc0oo/.env
new file mode 100644
index 0000000..827081f
--- /dev/null
+++ b/coolify/services/og0k8kkcg00soww00kgsc0oo/.env
@@ -0,0 +1,7 @@
+SERVICE_NAME_TYPESENSE=typesense
+SERVICE_FQDN_TYPESENSE=typedemo.site.quack-lab.dev
+SERVICE_FQDN_TYPESENSE_8108=typedemo.site.quack-lab.dev
+SERVICE_URL_TYPESENSE=https://typedemo.site.quack-lab.dev
+SERVICE_URL_TYPESENSE_8108=https://typedemo.site.quack-lab.dev
+TYPESENSE_API_KEY=K4d23c6r0g5mW5i9*75APgbm2Vt*Y51A
+TYPESENSE_ENABLE_CORS=true
\ No newline at end of file
diff --git a/coolify/services/og0k8kkcg00soww00kgsc0oo/docker-compose.yml b/coolify/services/og0k8kkcg00soww00kgsc0oo/docker-compose.yml
new file mode 100644
index 0000000..ac25099
--- /dev/null
+++ b/coolify/services/og0k8kkcg00soww00kgsc0oo/docker-compose.yml
@@ -0,0 +1,72 @@
+services:
+ typesense:
+ image: 'typesense/typesense:28.0'
+ environment:
+ SERVICE_URL_TYPESENSE_8108: 'https://typedemo.site.quack-lab.dev'
+ TYPESENSE_ENABLE_CORS: '${TYPESENSE_ENABLE_CORS:-true}'
+ TYPESENSE_DATA_DIR: /data
+ TYPESENSE_API_KEY: '${TYPESENSE_API_KEY:?}'
+ COOLIFY_RESOURCE_UUID: og0k8kkcg00soww00kgsc0oo
+ COOLIFY_CONTAINER_NAME: typesense-og0k8kkcg00soww00kgsc0oo
+ COOLIFY_FQDN: typedemo.site.quack-lab.dev
+ COOLIFY_URL: 'https://typedemo.site.quack-lab.dev'
+ SERVICE_NAME_TYPESENSE: typesense
+ volumes:
+ - 'og0k8kkcg00soww00kgsc0oo_typesense-data:/data'
+ healthcheck:
+ test:
+ - CMD
+ - bash
+ - '-c'
+ - 'exec 3<>/dev/tcp/localhost/8108 && printf ''GET /health HTTP/1.1\r\nConnection: close\r\n\r\n'' >&3 && head -n1 <&3 | grep ''200'' && exec 3>&-'
+ retries: 5
+ timeout: 7s
+ container_name: typesense-og0k8kkcg00soww00kgsc0oo
+ restart: unless-stopped
+ labels:
+ - coolify.managed=true
+ - coolify.version=4.0.0-beta.434
+ - coolify.serviceId=52
+ - coolify.type=service
+ - coolify.name=typesense-og0k8kkcg00soww00kgsc0oo
+ - coolify.resourceName=typedemo
+ - coolify.projectName=services
+ - coolify.serviceName=typesense
+ - coolify.environmentName=production
+ - coolify.pullRequestId=0
+ - coolify.service.subId=90
+ - coolify.service.subType=application
+ - coolify.service.subName=typesense
+ - traefik.enable=true
+ - traefik.http.middlewares.gzip.compress=true
+ - traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
+ - traefik.http.routers.http-0-og0k8kkcg00soww00kgsc0oo-typesense.entryPoints=http
+ - traefik.http.routers.http-0-og0k8kkcg00soww00kgsc0oo-typesense.middlewares=redirect-to-https
+ - 'traefik.http.routers.http-0-og0k8kkcg00soww00kgsc0oo-typesense.rule=Host(`typedemo.site.quack-lab.dev`) && PathPrefix(`/`)'
+ - traefik.http.routers.http-0-og0k8kkcg00soww00kgsc0oo-typesense.service=http-0-og0k8kkcg00soww00kgsc0oo-typesense
+ - traefik.http.routers.https-0-og0k8kkcg00soww00kgsc0oo-typesense.entryPoints=https
+ - traefik.http.routers.https-0-og0k8kkcg00soww00kgsc0oo-typesense.middlewares=gzip
+ - 'traefik.http.routers.https-0-og0k8kkcg00soww00kgsc0oo-typesense.rule=Host(`typedemo.site.quack-lab.dev`) && PathPrefix(`/`)'
+ - traefik.http.routers.https-0-og0k8kkcg00soww00kgsc0oo-typesense.service=https-0-og0k8kkcg00soww00kgsc0oo-typesense
+ - traefik.http.routers.https-0-og0k8kkcg00soww00kgsc0oo-typesense.tls.certresolver=letsencrypt
+ - traefik.http.routers.https-0-og0k8kkcg00soww00kgsc0oo-typesense.tls=true
+ - traefik.http.services.http-0-og0k8kkcg00soww00kgsc0oo-typesense.loadbalancer.server.port=8108
+ - traefik.http.services.https-0-og0k8kkcg00soww00kgsc0oo-typesense.loadbalancer.server.port=8108
+ - 'caddy_0.encode=zstd gzip'
+ - 'caddy_0.handle_path.0_reverse_proxy={{upstreams 8108}}'
+ - 'caddy_0.handle_path=/*'
+ - caddy_0.header=-Server
+ - 'caddy_0.try_files={path} /index.html /index.php'
+ - 'caddy_0=https://typedemo.site.quack-lab.dev'
+ - caddy_ingress_network=og0k8kkcg00soww00kgsc0oo
+ networks:
+ og0k8kkcg00soww00kgsc0oo: null
+volumes:
+ og0k8kkcg00soww00kgsc0oo_typesense-data:
+ name: og0k8kkcg00soww00kgsc0oo_typesense-data
+networks:
+ og0k8kkcg00soww00kgsc0oo:
+ name: og0k8kkcg00soww00kgsc0oo
+ external: true
+configs: { }
+secrets: { }
diff --git a/coolify/services/p88kookwkgkg8448k8k84848/.env b/coolify/services/p88kookwkgkg8448k8k84848/.env
index 18c37a8..941326c 100644
--- a/coolify/services/p88kookwkgkg8448k8k84848/.env
+++ b/coolify/services/p88kookwkgkg8448k8k84848/.env
@@ -1,13 +1,18 @@
SERVICE_NAME_VIKUNJA=vikunja
SERVICE_NAME_POSTGRESQL=postgresql
SERVICE_NAME_TYPESENSE=typesense
+SERVICE_NAME_TYPESENSE_ADMIN=typesense-admin
SERVICE_FQDN_TYPESENSE=vikunja-typesense.site.quack-lab.dev
SERVICE_FQDN_TYPESENSE_8108=vikunja-typesense.site.quack-lab.dev
+SERVICE_FQDN_TYPESENSE_ADMIN=vikunja-typesense-admin.site.quack-lab.dev
+SERVICE_FQDN_TYPESENSE_ADMIN_80=vikunja-typesense-admin.site.quack-lab.dev
SERVICE_FQDN_VIKUNJA=vikunja.site.quack-lab.dev
SERVICE_PASSWORD_JWTSECRET=rOYardNKXhg32Z5B5T0BoC3JGxD9HhD2
SERVICE_PASSWORD_POSTGRESQL=LJNUZyhW1nm3LdeZ1PpBJhwAwLXG62as
SERVICE_URL_TYPESENSE=https://vikunja-typesense.site.quack-lab.dev
SERVICE_URL_TYPESENSE_8108=https://vikunja-typesense.site.quack-lab.dev
+SERVICE_URL_TYPESENSE_ADMIN=https://vikunja-typesense-admin.site.quack-lab.dev
+SERVICE_URL_TYPESENSE_ADMIN_80=https://vikunja-typesense-admin.site.quack-lab.dev
SERVICE_URL_VIKUNJA=https://vikunja.site.quack-lab.dev
SERVICE_USER_POSTGRESQL=Bdqj73QvoRkNw58j
POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
diff --git a/coolify/services/p88kookwkgkg8448k8k84848/docker-compose.yml b/coolify/services/p88kookwkgkg8448k8k84848/docker-compose.yml
index 7aad4d2..bc33e7a 100644
--- a/coolify/services/p88kookwkgkg8448k8k84848/docker-compose.yml
+++ b/coolify/services/p88kookwkgkg8448k8k84848/docker-compose.yml
@@ -22,6 +22,7 @@ services:
SERVICE_NAME_VIKUNJA: vikunja
SERVICE_NAME_POSTGRESQL: postgresql
SERVICE_NAME_TYPESENSE: typesense
+ SERVICE_NAME_TYPESENSE_ADMIN: typesense-admin
volumes:
- 'p88kookwkgkg8448k8k84848_vikunja-data:/app/vikunja/'
depends_on:
@@ -77,6 +78,7 @@ services:
SERVICE_NAME_VIKUNJA: vikunja
SERVICE_NAME_POSTGRESQL: postgresql
SERVICE_NAME_TYPESENSE: typesense
+ SERVICE_NAME_TYPESENSE_ADMIN: typesense-admin
healthcheck:
test:
- CMD-SHELL
@@ -116,6 +118,7 @@ services:
SERVICE_NAME_VIKUNJA: vikunja
SERVICE_NAME_POSTGRESQL: postgresql
SERVICE_NAME_TYPESENSE: typesense
+ SERVICE_NAME_TYPESENSE_ADMIN: typesense-admin
volumes:
- 'p88kookwkgkg8448k8k84848_typesense-data:/data'
healthcheck:
@@ -166,6 +169,57 @@ services:
- caddy_ingress_network=p88kookwkgkg8448k8k84848
networks:
p88kookwkgkg8448k8k84848: null
+ typesense-admin:
+ image: 'ghcr.io/bfritscher/typesense-dashboard:latest'
+ container_name: typesense-admin-p88kookwkgkg8448k8k84848
+ restart: unless-stopped
+ labels:
+ - coolify.managed=true
+ - coolify.version=4.0.0-beta.434
+ - coolify.serviceId=47
+ - coolify.type=service
+ - coolify.name=typesense-admin-p88kookwkgkg8448k8k84848
+ - coolify.resourceName=vikunja
+ - coolify.projectName=services
+ - coolify.serviceName=typesense-admin
+ - coolify.environmentName=production
+ - coolify.pullRequestId=0
+ - coolify.service.subId=91
+ - coolify.service.subType=application
+ - coolify.service.subName=typesense-admin
+ - traefik.enable=true
+ - traefik.http.middlewares.gzip.compress=true
+ - traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
+ - traefik.http.routers.http-0-p88kookwkgkg8448k8k84848-typesense-admin.entryPoints=http
+ - traefik.http.routers.http-0-p88kookwkgkg8448k8k84848-typesense-admin.middlewares=redirect-to-https
+ - 'traefik.http.routers.http-0-p88kookwkgkg8448k8k84848-typesense-admin.rule=Host(`vikunja-typesense-admin.site.quack-lab.dev`) && PathPrefix(`/`)'
+ - traefik.http.routers.http-0-p88kookwkgkg8448k8k84848-typesense-admin.service=http-0-p88kookwkgkg8448k8k84848-typesense-admin
+ - traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense-admin.entryPoints=https
+ - traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense-admin.middlewares=gzip
+ - 'traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense-admin.rule=Host(`vikunja-typesense-admin.site.quack-lab.dev`) && PathPrefix(`/`)'
+ - traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense-admin.service=https-0-p88kookwkgkg8448k8k84848-typesense-admin
+ - traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense-admin.tls.certresolver=letsencrypt
+ - traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense-admin.tls=true
+ - traefik.http.services.http-0-p88kookwkgkg8448k8k84848-typesense-admin.loadbalancer.server.port=80
+ - traefik.http.services.https-0-p88kookwkgkg8448k8k84848-typesense-admin.loadbalancer.server.port=80
+ - 'caddy_0.encode=zstd gzip'
+ - 'caddy_0.handle_path.0_reverse_proxy={{upstreams 80}}'
+ - 'caddy_0.handle_path=/*'
+ - caddy_0.header=-Server
+ - 'caddy_0.try_files={path} /index.html /index.php'
+ - 'caddy_0=https://vikunja-typesense-admin.site.quack-lab.dev'
+ - caddy_ingress_network=p88kookwkgkg8448k8k84848
+ networks:
+ p88kookwkgkg8448k8k84848: null
+ environment:
+ COOLIFY_RESOURCE_UUID: p88kookwkgkg8448k8k84848
+ COOLIFY_CONTAINER_NAME: typesense-admin-p88kookwkgkg8448k8k84848
+ COOLIFY_FQDN: vikunja-typesense-admin.site.quack-lab.dev
+ COOLIFY_URL: 'https://vikunja-typesense-admin.site.quack-lab.dev'
+ SERVICE_NAME_VIKUNJA: vikunja
+ SERVICE_NAME_POSTGRESQL: postgresql
+ SERVICE_NAME_TYPESENSE: typesense
+ SERVICE_NAME_TYPESENSE_ADMIN: typesense-admin
volumes:
p88kookwkgkg8448k8k84848_vikunja-data:
name: p88kookwkgkg8448k8k84848_vikunja-data
diff --git a/coolify/services/wo0s4wgoo4k0cc440w00go8o/.env b/coolify/services/wo0s4wgoo4k0cc440w00go8o/.env
new file mode 100644
index 0000000..81f0a69
--- /dev/null
+++ b/coolify/services/wo0s4wgoo4k0cc440w00go8o/.env
@@ -0,0 +1,5 @@
+SERVICE_NAME_DOZZLE=dozzle
+SERVICE_FQDN_DOZZLE=dozzle.site.quack-lab.dev
+SERVICE_FQDN_DOZZLE_8080=dozzle.site.quack-lab.dev
+SERVICE_URL_DOZZLE=https://dozzle.site.quack-lab.dev
+SERVICE_URL_DOZZLE_8080=https://dozzle.site.quack-lab.dev
\ No newline at end of file
diff --git a/coolify/services/wo0s4wgoo4k0cc440w00go8o/docker-compose.yml b/coolify/services/wo0s4wgoo4k0cc440w00go8o/docker-compose.yml
new file mode 100644
index 0000000..610070a
--- /dev/null
+++ b/coolify/services/wo0s4wgoo4k0cc440w00go8o/docker-compose.yml
@@ -0,0 +1,68 @@
+services:
+ dozzle:
+ image: 'amir20/dozzle:latest'
+ environment:
+ SERVICE_URL_DOZZLE_8080: 'https://dozzle.site.quack-lab.dev'
+ COOLIFY_RESOURCE_UUID: wo0s4wgoo4k0cc440w00go8o
+ COOLIFY_CONTAINER_NAME: dozzle-wo0s4wgoo4k0cc440w00go8o
+ COOLIFY_FQDN: dozzle.site.quack-lab.dev
+ COOLIFY_URL: 'https://dozzle.site.quack-lab.dev'
+ SERVICE_NAME_DOZZLE: dozzle
+ volumes:
+ - '/var/run/docker.sock:/var/run/docker.sock'
+ healthcheck:
+ test:
+ - CMD
+ - /dozzle
+ - healthcheck
+ interval: 3s
+ timeout: 30s
+ retries: 5
+ start_period: 30s
+ container_name: dozzle-wo0s4wgoo4k0cc440w00go8o
+ restart: unless-stopped
+ labels:
+ - coolify.managed=true
+ - coolify.version=4.0.0-beta.434
+ - coolify.serviceId=50
+ - coolify.type=service
+ - coolify.name=dozzle-wo0s4wgoo4k0cc440w00go8o
+ - coolify.resourceName=dozzle
+ - coolify.projectName=services
+ - coolify.serviceName=dozzle
+ - coolify.environmentName=production
+ - coolify.pullRequestId=0
+ - coolify.service.subId=87
+ - coolify.service.subType=application
+ - coolify.service.subName=dozzle
+ - traefik.enable=true
+ - traefik.http.middlewares.gzip.compress=true
+ - traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
+ - traefik.http.routers.http-0-wo0s4wgoo4k0cc440w00go8o-dozzle.entryPoints=http
+ - traefik.http.routers.http-0-wo0s4wgoo4k0cc440w00go8o-dozzle.middlewares=redirect-to-https
+ - 'traefik.http.routers.http-0-wo0s4wgoo4k0cc440w00go8o-dozzle.rule=Host(`dozzle.site.quack-lab.dev`) && PathPrefix(`/`)'
+ - traefik.http.routers.http-0-wo0s4wgoo4k0cc440w00go8o-dozzle.service=http-0-wo0s4wgoo4k0cc440w00go8o-dozzle
+ - traefik.http.routers.https-0-wo0s4wgoo4k0cc440w00go8o-dozzle.entryPoints=https
+ - traefik.http.routers.https-0-wo0s4wgoo4k0cc440w00go8o-dozzle.middlewares=gzip
+ - 'traefik.http.routers.https-0-wo0s4wgoo4k0cc440w00go8o-dozzle.rule=Host(`dozzle.site.quack-lab.dev`) && PathPrefix(`/`)'
+ - traefik.http.routers.https-0-wo0s4wgoo4k0cc440w00go8o-dozzle.service=https-0-wo0s4wgoo4k0cc440w00go8o-dozzle
+ - traefik.http.routers.https-0-wo0s4wgoo4k0cc440w00go8o-dozzle.tls.certresolver=letsencrypt
+ - traefik.http.routers.https-0-wo0s4wgoo4k0cc440w00go8o-dozzle.tls=true
+ - traefik.http.services.http-0-wo0s4wgoo4k0cc440w00go8o-dozzle.loadbalancer.server.port=8080
+ - traefik.http.services.https-0-wo0s4wgoo4k0cc440w00go8o-dozzle.loadbalancer.server.port=8080
+ - 'caddy_0.encode=zstd gzip'
+ - 'caddy_0.handle_path.0_reverse_proxy={{upstreams 8080}}'
+ - 'caddy_0.handle_path=/*'
+ - caddy_0.header=-Server
+ - 'caddy_0.try_files={path} /index.html /index.php'
+ - 'caddy_0=https://dozzle.site.quack-lab.dev'
+ - caddy_ingress_network=wo0s4wgoo4k0cc440w00go8o
+ networks:
+ wo0s4wgoo4k0cc440w00go8o: null
+volumes: { }
+networks:
+ wo0s4wgoo4k0cc440w00go8o:
+ name: wo0s4wgoo4k0cc440w00go8o
+ external: true
+configs: { }
+secrets: { }
diff --git a/coolify/services/xw808040c0g0gow8wcc4c4wc/.env b/coolify/services/xw808040c0g0gow8wcc4c4wc/.env
new file mode 100644
index 0000000..73b9586
--- /dev/null
+++ b/coolify/services/xw808040c0g0gow8wcc4c4wc/.env
@@ -0,0 +1,5 @@
+SERVICE_NAME_CLIPPY_SERVER=clippy-server
+SERVICE_FQDN_CLIPPY_SERVER=clippy.site.quack-lab.dev
+SERVICE_FQDN_CLIPPY_SERVER_8080=clippy.site.quack-lab.dev
+SERVICE_URL_CLIPPY_SERVER=https://clippy.site.quack-lab.dev
+SERVICE_URL_CLIPPY_SERVER_8080=https://clippy.site.quack-lab.dev
\ No newline at end of file
diff --git a/coolify/services/xw808040c0g0gow8wcc4c4wc/docker-compose.yml b/coolify/services/xw808040c0g0gow8wcc4c4wc/docker-compose.yml
new file mode 100644
index 0000000..b72694a
--- /dev/null
+++ b/coolify/services/xw808040c0g0gow8wcc4c4wc/docker-compose.yml
@@ -0,0 +1,57 @@
+services:
+ clippy-server:
+ image: docker.site.quack-lab.dev/clippy-server
+ command: './clippy-server -loglevel trace'
+ container_name: clippy-server-xw808040c0g0gow8wcc4c4wc
+ restart: unless-stopped
+ labels:
+ - coolify.managed=true
+ - coolify.version=4.0.0-beta.434
+ - coolify.serviceId=51
+ - coolify.type=service
+ - coolify.name=clippy-server-xw808040c0g0gow8wcc4c4wc
+ - coolify.resourceName=clippy
+ - coolify.projectName=services
+ - coolify.serviceName=clippy-server
+ - coolify.environmentName=production
+ - coolify.pullRequestId=0
+ - coolify.service.subId=88
+ - coolify.service.subType=application
+ - coolify.service.subName=clippy-server
+ - traefik.enable=true
+ - traefik.http.middlewares.gzip.compress=true
+ - traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
+ - traefik.http.routers.http-0-xw808040c0g0gow8wcc4c4wc-clippy-server.entryPoints=http
+ - traefik.http.routers.http-0-xw808040c0g0gow8wcc4c4wc-clippy-server.middlewares=redirect-to-https
+ - 'traefik.http.routers.http-0-xw808040c0g0gow8wcc4c4wc-clippy-server.rule=Host(`clippy.site.quack-lab.dev`) && PathPrefix(`/`)'
+ - traefik.http.routers.http-0-xw808040c0g0gow8wcc4c4wc-clippy-server.service=http-0-xw808040c0g0gow8wcc4c4wc-clippy-server
+ - traefik.http.routers.https-0-xw808040c0g0gow8wcc4c4wc-clippy-server.entryPoints=https
+ - traefik.http.routers.https-0-xw808040c0g0gow8wcc4c4wc-clippy-server.middlewares=gzip
+ - 'traefik.http.routers.https-0-xw808040c0g0gow8wcc4c4wc-clippy-server.rule=Host(`clippy.site.quack-lab.dev`) && PathPrefix(`/`)'
+ - traefik.http.routers.https-0-xw808040c0g0gow8wcc4c4wc-clippy-server.service=https-0-xw808040c0g0gow8wcc4c4wc-clippy-server
+ - traefik.http.routers.https-0-xw808040c0g0gow8wcc4c4wc-clippy-server.tls.certresolver=letsencrypt
+ - traefik.http.routers.https-0-xw808040c0g0gow8wcc4c4wc-clippy-server.tls=true
+ - traefik.http.services.http-0-xw808040c0g0gow8wcc4c4wc-clippy-server.loadbalancer.server.port=8080
+ - traefik.http.services.https-0-xw808040c0g0gow8wcc4c4wc-clippy-server.loadbalancer.server.port=8080
+ - 'caddy_0.encode=zstd gzip'
+ - 'caddy_0.handle_path.0_reverse_proxy={{upstreams 8080}}'
+ - 'caddy_0.handle_path=/*'
+ - caddy_0.header=-Server
+ - 'caddy_0.try_files={path} /index.html /index.php'
+ - 'caddy_0=https://clippy.site.quack-lab.dev'
+ - caddy_ingress_network=xw808040c0g0gow8wcc4c4wc
+ networks:
+ xw808040c0g0gow8wcc4c4wc: null
+ environment:
+ COOLIFY_RESOURCE_UUID: xw808040c0g0gow8wcc4c4wc
+ COOLIFY_CONTAINER_NAME: clippy-server-xw808040c0g0gow8wcc4c4wc
+ COOLIFY_FQDN: clippy.site.quack-lab.dev
+ COOLIFY_URL: 'https://clippy.site.quack-lab.dev'
+ SERVICE_NAME_CLIPPY_SERVER: clippy-server
+volumes: { }
+networks:
+ xw808040c0g0gow8wcc4c4wc:
+ name: xw808040c0g0gow8wcc4c4wc
+ external: true
+configs: { }
+secrets: { }
diff --git a/coolify/source/.env-2025-11-05-00-04-00 b/coolify/source/.env-2025-11-05-00-04-00
new file mode 100644
index 0000000..7513b62
--- /dev/null
+++ b/coolify/source/.env-2025-11-05-00-04-00
@@ -0,0 +1,16 @@
+APP_ID=9f356a6ef26a3bee4830d432374a6861
+APP_NAME=Coolify
+APP_KEY=base64:UTYfoaHz8AFyUXLVh2dZqNPqe4danEt+ATyYQ6p9nqs=
+
+DB_USERNAME=coolify
+DB_PASSWORD=2YzWcPMTLC6rQhc2TMafFuu1sr/wwe1ii6fNcezoM+E=
+REDIS_PASSWORD=3dJYVX+iDUaP4w0MMl7SURMAHYWlhpXGWVMSBrAH8gU=
+PUSHER_APP_ID=844ac4cfed1fc47de6ab1a682058e3c259a994c56d952dc27aeb8c28ef6b882b
+PUSHER_APP_KEY=b2c443093f0e17fb276b6ca39729f8c78ea846ce288a814dd40a28068328cd96
+PUSHER_APP_SECRET=97584e8f90237b0396088d066be8ac7394d944e27dcaeef80580f170a41d8f33
+ROOT_USERNAME=
+ROOT_USER_EMAIL=
+ROOT_USER_PASSWORD=
+REGISTRY_URL=ghcr.io
+DOCKER_ADDRESS_POOL_BASE=10.0.0.0/8
+DOCKER_ADDRESS_POOL_SIZE=24
diff --git a/coolify/source/.env-2025-11-06-00-04-11 b/coolify/source/.env-2025-11-06-00-04-11
new file mode 100644
index 0000000..7513b62
--- /dev/null
+++ b/coolify/source/.env-2025-11-06-00-04-11
@@ -0,0 +1,16 @@
+APP_ID=9f356a6ef26a3bee4830d432374a6861
+APP_NAME=Coolify
+APP_KEY=base64:UTYfoaHz8AFyUXLVh2dZqNPqe4danEt+ATyYQ6p9nqs=
+
+DB_USERNAME=coolify
+DB_PASSWORD=2YzWcPMTLC6rQhc2TMafFuu1sr/wwe1ii6fNcezoM+E=
+REDIS_PASSWORD=3dJYVX+iDUaP4w0MMl7SURMAHYWlhpXGWVMSBrAH8gU=
+PUSHER_APP_ID=844ac4cfed1fc47de6ab1a682058e3c259a994c56d952dc27aeb8c28ef6b882b
+PUSHER_APP_KEY=b2c443093f0e17fb276b6ca39729f8c78ea846ce288a814dd40a28068328cd96
+PUSHER_APP_SECRET=97584e8f90237b0396088d066be8ac7394d944e27dcaeef80580f170a41d8f33
+ROOT_USERNAME=
+ROOT_USER_EMAIL=
+ROOT_USER_PASSWORD=
+REGISTRY_URL=ghcr.io
+DOCKER_ADDRESS_POOL_BASE=10.0.0.0/8
+DOCKER_ADDRESS_POOL_SIZE=24
diff --git a/coolify/source/.env-2025-11-08-00-02-39 b/coolify/source/.env-2025-11-08-00-02-39
new file mode 100644
index 0000000..7513b62
--- /dev/null
+++ b/coolify/source/.env-2025-11-08-00-02-39
@@ -0,0 +1,16 @@
+APP_ID=9f356a6ef26a3bee4830d432374a6861
+APP_NAME=Coolify
+APP_KEY=base64:UTYfoaHz8AFyUXLVh2dZqNPqe4danEt+ATyYQ6p9nqs=
+
+DB_USERNAME=coolify
+DB_PASSWORD=2YzWcPMTLC6rQhc2TMafFuu1sr/wwe1ii6fNcezoM+E=
+REDIS_PASSWORD=3dJYVX+iDUaP4w0MMl7SURMAHYWlhpXGWVMSBrAH8gU=
+PUSHER_APP_ID=844ac4cfed1fc47de6ab1a682058e3c259a994c56d952dc27aeb8c28ef6b882b
+PUSHER_APP_KEY=b2c443093f0e17fb276b6ca39729f8c78ea846ce288a814dd40a28068328cd96
+PUSHER_APP_SECRET=97584e8f90237b0396088d066be8ac7394d944e27dcaeef80580f170a41d8f33
+ROOT_USERNAME=
+ROOT_USER_EMAIL=
+ROOT_USER_PASSWORD=
+REGISTRY_URL=ghcr.io
+DOCKER_ADDRESS_POOL_BASE=10.0.0.0/8
+DOCKER_ADDRESS_POOL_SIZE=24
diff --git a/syncthing-sparky/config.xml b/syncthing-sparky/config.xml
index 55104fe..6b0c382 100644
--- a/syncthing-sparky/config.xml
+++ b/syncthing-sparky/config.xml
@@ -2914,6 +2914,9 @@
basic
+
+
+
@@ -3182,6 +3185,51 @@
4096
+
+ basic
+
+
+
+
+
+
+ 10
+
+
+
+ 3600
+
+ basic
+
+ 0
+ 0
+ 0
+ random
+ false
+ 0
+ 0
+ 1
+ 10
+ false
+ false
+ .stfolder
+ false
+ 0
+ 16
+ false
+ standard
+ standard
+ false
+ false
+ false
+ false
+ false
+ false
+
+ 1024
+ 4096
+
+
basic
@@ -3710,51 +3758,6 @@
4096
-
- basic
-
-
-
-
-
-
- 10
-
-
-
- 3600
-
- basic
-
- 0
- 0
- 0
- random
- false
- 0
- 0
- 1
- 10
- false
- false
- .stfolder
- false
- 0
- 16
- false
- standard
- standard
- false
- false
- false
- false
- false
- false
-
- 1024
- 4096
-
-
basic