diff --git a/coolify/proxy/caddy/config/caddy/Caddyfile.autosave b/coolify/proxy/caddy/config/caddy/Caddyfile.autosave
index 125739a..a5f6083 100644
--- a/coolify/proxy/caddy/config/caddy/Caddyfile.autosave
+++ b/coolify/proxy/caddy/config/caddy/Caddyfile.autosave
@@ -2,7 +2,15 @@ import /dynamic/*.caddy
https://actual.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.29.2:5006
+ reverse_proxy 10.0.29.3:5006
+ }
+ header -Server
+ try_files {path} /index.html /index.php
+}
+https://affine.site.quack-lab.dev {
+ encode zstd gzip
+ handle_path /* {
+ reverse_proxy 10.0.42.4:3010
}
header -Server
try_files {path} /index.html /index.php
@@ -10,7 +18,7 @@ https://actual.site.quack-lab.dev {
https://authwarden.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.31.2:80
+ reverse_proxy 10.0.31.3:80
}
header -Server
try_files {path} /index.html /index.php
@@ -18,7 +26,7 @@ https://authwarden.site.quack-lab.dev {
https://bitwarden.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.34.2:80
+ reverse_proxy 10.0.34.3:80
}
header -Server
try_files {path} /index.html /index.php
@@ -26,15 +34,7 @@ https://bitwarden.site.quack-lab.dev {
https://calibre.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.35.2:8083
- }
- header -Server
- try_files {path} /index.html /index.php
-}
-https://cors.site.quack-lab.dev {
- encode zstd gzip
- handle_path /* {
- reverse_proxy 10.0.4.8:80
+ reverse_proxy 10.0.35.3:8083
}
header -Server
try_files {path} /index.html /index.php
@@ -42,14 +42,14 @@ https://cors.site.quack-lab.dev {
https://docker.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.36.2:5000
+ reverse_proxy 10.0.36.3:5000
}
header -Server
try_files {path} /index.html /index.php
}
https://evebase.site.quack-lab.dev {
handle_path /* {
- reverse_proxy 10.0.50.2:8080
+ reverse_proxy 10.0.50.3:8080
}
header -Server
try_files {path} /index.html /index.php
@@ -57,7 +57,7 @@ https://evebase.site.quack-lab.dev {
https://files.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.37.2:3923
+ reverse_proxy 10.0.37.3:3923
}
header -Server
try_files {path} /index.html /index.php
@@ -65,7 +65,7 @@ https://files.site.quack-lab.dev {
https://git.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.38.3:3000
+ reverse_proxy 10.0.38.4:3000
}
header -Server
try_files {path} /index.html /index.php
@@ -73,7 +73,7 @@ https://git.site.quack-lab.dev {
https://grafana.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.42.2:43433
+ reverse_proxy 10.0.64.2:43433
}
header -Server
try_files {path} /index.html /index.php
@@ -84,7 +84,7 @@ https://grist.site.quack-lab.dev {
}
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.39.2:8484
+ reverse_proxy 10.0.39.3:8484
}
header -Server
try_files {path} /index.html /index.php
@@ -92,7 +92,7 @@ https://grist.site.quack-lab.dev {
https://himmich.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.61.5:2283
+ reverse_proxy 10.0.61.6:2283
}
header -Server
try_files {path} /index.html /index.php
@@ -100,7 +100,7 @@ https://himmich.site.quack-lab.dev {
https://immich.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.41.5:2283
+ reverse_proxy 10.0.41.6:2283
}
header -Server
try_files {path} /index.html /index.php
@@ -108,7 +108,7 @@ https://immich.site.quack-lab.dev {
https://jelly.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.44.2:8096
+ reverse_proxy 10.0.44.3:8096
}
header -Server
try_files {path} /index.html /index.php
@@ -116,7 +116,7 @@ https://jelly.site.quack-lab.dev {
https://meili-web.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.43.2:24900
+ reverse_proxy 10.0.43.3:24900
}
header -Server
try_files {path} /index.html /index.php
@@ -124,7 +124,7 @@ https://meili-web.site.quack-lab.dev {
https://meili.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.40.2:7700
+ reverse_proxy 10.0.40.3:7700
}
header -Server
try_files {path} /index.html /index.php
@@ -132,7 +132,7 @@ https://meili.site.quack-lab.dev {
https://n8n.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.46.2:5678
+ reverse_proxy 10.0.46.3:5678
}
header -Server
try_files {path} /index.html /index.php
@@ -140,7 +140,7 @@ https://n8n.site.quack-lab.dev {
https://nsq-http.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.45.3:4151
+ reverse_proxy 10.0.45.5:4151
}
header -Server
try_files {path} /index.html /index.php
@@ -148,7 +148,7 @@ https://nsq-http.site.quack-lab.dev {
https://nsq.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.45.3:4151
+ reverse_proxy 10.0.45.5:4151
}
header -Server
try_files {path} /index.html /index.php
@@ -164,7 +164,7 @@ https://nsqadmin.site.quack-lab.dev {
https://pastefy.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.47.2:80
+ reverse_proxy 10.0.47.3:80
}
header -Server
try_files {path} /index.html /index.php
@@ -172,35 +172,35 @@ https://pastefy.site.quack-lab.dev {
https://pdf.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.49.2:8080
+ reverse_proxy 10.0.49.3:8080
}
header -Server
try_files {path} /index.html /index.php
}
https://pocketbase-autoclip.site.quack-lab.dev {
handle_path /* {
- reverse_proxy 10.0.48.2:8080
+ reverse_proxy 10.0.48.3:8080
}
header -Server
try_files {path} /index.html /index.php
}
https://pocketbase-scratch.site.quack-lab.dev {
handle_path /* {
- reverse_proxy 10.0.56.2:8080
+ reverse_proxy 10.0.56.3:8080
}
header -Server
try_files {path} /index.html /index.php
}
https://pocketbase-shoppinglist.site.quack-lab.dev {
handle_path /* {
- reverse_proxy 10.0.59.2:8080
+ reverse_proxy 10.0.59.3:8080
}
header -Server
try_files {path} /index.html /index.php
}
https://pocketbase-truckermajster.site.quack-lab.dev {
handle_path /* {
- reverse_proxy 10.0.57.2:8080
+ reverse_proxy 10.0.57.3:8080
}
header -Server
try_files {path} /index.html /index.php
@@ -208,14 +208,14 @@ https://pocketbase-truckermajster.site.quack-lab.dev {
https://pocketbase-youtube-seencounter.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.51.2:8090
+ reverse_proxy 10.0.51.3:8090
}
header -Server
try_files {path} /index.html /index.php
}
https://pocketbase-youtube-timestamps.site.quack-lab.dev {
handle_path /* {
- reverse_proxy 10.0.55.2:8080
+ reverse_proxy 10.0.55.3:8080
}
header -Server
try_files {path} /index.html /index.php
@@ -223,7 +223,7 @@ https://pocketbase-youtube-timestamps.site.quack-lab.dev {
https://portainer.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.54.2:9000
+ reverse_proxy 10.0.54.3:9000
}
header -Server
try_files {path} /index.html /index.php
@@ -231,7 +231,7 @@ https://portainer.site.quack-lab.dev {
https://sync.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.52.2:8384
+ reverse_proxy 10.0.52.3:8384
}
header -Server
try_files {path} /index.html /index.php
@@ -239,7 +239,7 @@ https://sync.site.quack-lab.dev {
https://torrent.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.53.2:8080
+ reverse_proxy 10.0.53.3:8080
}
header -Server
try_files {path} /index.html /index.php
@@ -247,7 +247,15 @@ https://torrent.site.quack-lab.dev {
https://zipline.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
- reverse_proxy 10.0.60.3:3000
+ reverse_proxy 10.0.60.4:3000
+ }
+ header -Server
+ try_files {path} /index.html /index.php
+}
+https://zulip.site.quack-lab.dev {
+ encode zstd gzip
+ handle_path /* {
+ reverse_proxy 10.0.63.7:80
}
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 70e515f..f93aa38 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.2: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.2:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pocketbase-youtube-timestamps.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.57.2:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pocketbase-truckermajster.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.2: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":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.48.2:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pocketbase-autoclip.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.56.2: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.31.2:80"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["authwarden.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.2: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.2: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.2:9000"}]}]}]}],"match":[{"path":["/*"]}]}]}],"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.45.3: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.35.2: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.2: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.42.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.5: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.2: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.2:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["torrent.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.60.3:3000"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["zipline.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.2: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.2: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.5: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.37.2: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.2: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.2: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.2: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.4.8:80"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["cors.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.2:8384"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["sync.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.3: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.2: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.3: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
+{"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":[{"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.57.3:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pocketbase-truckermajster.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":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.48.3:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pocketbase-autoclip.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.56.3:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pocketbase-scratch.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.31.3:80"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["authwarden.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":[{"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.35.3:8083"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["calibre.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.50.3:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["evebase.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.64.2:43433"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["grafana.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.61.6:2283"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["himmich.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.47.3:80"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["pastefy.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.53.3:8080"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["torrent.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"headers","response":{"deferred":true,"delete":["Server"]}}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"try_files":["{http.request.uri.path}","/index.html","/index.php"]}}]},{"handle":[{"encodings":{"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","gzip"]}]},{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"rewrite"}]},{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"10.0.60.4:3000"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["zipline.site.quack-lab.dev"]}],"terminal":true},{"handle":[{"handler":"subroute","routes":[{"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.42.4:3010"}]}]}]}],"match":[{"path":["/*"]}]}]}],"match":[{"host":["affine.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.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":[{"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.3: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.3: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/affine.site.quack-lab.dev/affine.site.quack-lab.dev.crt b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/affine.site.quack-lab.dev/affine.site.quack-lab.dev.crt
new file mode 100644
index 0000000..7834fd8
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/affine.site.quack-lab.dev/affine.site.quack-lab.dev.crt
@@ -0,0 +1,49 @@
+-----BEGIN CERTIFICATE-----
+MIIDoTCCAyagAwIBAgISBWrYQ91jdEr0ys0+nQthlpWhMAoGCCqGSM49BAMDMDIx
+CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
+NzAeFw0yNTEwMjAwNTQ2NTdaFw0yNjAxMTgwNTQ2NTZaMCQxIjAgBgNVBAMTGWFm
+ZmluZS5zaXRlLnF1YWNrLWxhYi5kZXYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC
+AARG69+1dFC2L0Yk/29R+v62VSUweZeaWl/eRkSC2xZvDRBU4xvsvnR5+yy8YiT6
+7cmjcIElnhGpYsPNZOICHQFKo4ICKDCCAiQwDgYDVR0PAQH/BAQDAgeAMB0GA1Ud
+JQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQW
+BBTfWhXJ8JfaXIcjkNW2Nb329p4DQjAfBgNVHSMEGDAWgBSuSJ7chx1EoG/aouVg
+dAR4wpwAgDAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly9lNy5p
+LmxlbmNyLm9yZy8wJAYDVR0RBB0wG4IZYWZmaW5lLnNpdGUucXVhY2stbGFiLmRl
+djATBgNVHSAEDDAKMAgGBmeBDAECATAtBgNVHR8EJjAkMCKgIKAehhxodHRwOi8v
+ZTcuYy5sZW5jci5vcmcvMzQuY3JsMIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDxAHcA
+SZybad4dfOz8Nt7Nh2SmuFuvCoeAGdFVUvvp6ynd+MMAAAGaAF2hQQAABAMASDBG
+AiEA47ug0bOThXBNaVmwKWn1FZK1deJVyhp42DBL4Fi6QtYCIQDCjg4M4hI6R/Q5
+Dc2GmH0K5SUR/3kwIGx5a2cvJSgzvAB2AA5XlLzzrqk+MxssmQez95Dfm8I9cTIl
+3SGpJaxhxU4hAAABmgBdoTYAAAQDAEcwRQIgJLyCiPBxfHysTFpFE25KW+8LfE/I
+BaaACH4te9AhrT0CIQCAOMDzSA6UsZM5/pbm6NYoe0ymIREJl8zITnrZsp2zCjAK
+BggqhkjOPQQDAwNpADBmAjEA8k13/kZYFcb9GNdIYEWgEg3jCW17Vz6v3FCmhs0l
+5Xs+VhbEnYAq4hMOTR9G2HqeAjEAsOLjrH0+UWYRqbCErVr0SLHv4jX8JueafXnE
+7HLfBUYroLPliyEe4exleoJzburJ
+-----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/affine.site.quack-lab.dev/affine.site.quack-lab.dev.json b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/affine.site.quack-lab.dev/affine.site.quack-lab.dev.json
new file mode 100644
index 0000000..943737f
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/affine.site.quack-lab.dev/affine.site.quack-lab.dev.json
@@ -0,0 +1,9 @@
+{
+ "sans": [
+ "affine.site.quack-lab.dev"
+ ],
+ "issuer_data": {
+ "url": "https://acme-v02.api.letsencrypt.org/acme/cert/056ad843dd63744af4cacd3e9d0b619695a1",
+ "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/affine.site.quack-lab.dev/affine.site.quack-lab.dev.key b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/affine.site.quack-lab.dev/affine.site.quack-lab.dev.key
new file mode 100644
index 0000000..a4ec1f8
--- /dev/null
+++ b/coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/affine.site.quack-lab.dev/affine.site.quack-lab.dev.key
@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIDfx9FmpNVU9eZnmheXWLjVOrd0STwdJrrAX9YNFo2BnoAoGCCqGSM49
+AwEHoUQDQgAERuvftXRQti9GJP9vUfr+tlUlMHmXmlpf3kZEgtsWbw0QVOMb7L50
+efssvGIk+u3Jo3CBJZ4RqWLDzWTiAh0BSg==
+-----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 12b5912..c6ba34c 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-18T12:33:22.477159322Z","instance_id":"dbe630cc-bc9f-443e-b311-aec406294c5c"}}
\ No newline at end of file
+{"tls":{"timestamp":"2025-10-19T23:40:36.780967328Z","instance_id":"dbe630cc-bc9f-443e-b311-aec406294c5c"}}
\ No newline at end of file
diff --git a/coolify/services/xggc04cwcsc484gogggk4kk8/docker-compose.yml b/coolify/services/xggc04cwcsc484gogggk4kk8/docker-compose.yml
index 4de1ddb..74ff487 100644
--- a/coolify/services/xggc04cwcsc484gogggk4kk8/docker-compose.yml
+++ b/coolify/services/xggc04cwcsc484gogggk4kk8/docker-compose.yml
@@ -8,6 +8,7 @@ services:
N8N_HOST: '${SERVICE_URL_N8N}'
GENERIC_TIMEZONE: '${GENERIC_TIMEZONE:-Europe/Berlin}'
TZ: '${TZ:-Europe/Berlin}'
+ NODE_FUNCTION_ALLOW_EXTERNAL: '*'
COOLIFY_RESOURCE_UUID: xggc04cwcsc484gogggk4kk8
COOLIFY_CONTAINER_NAME: n8n-xggc04cwcsc484gogggk4kk8
COOLIFY_FQDN: n8n.site.quack-lab.dev
diff --git a/coolify/services/yksw08ogw4c88oswckk8sco8/docker-compose.yml b/coolify/services/yksw08ogw4c88oswckk8sco8/docker-compose.yml
index 63d6e88..59a880d 100644
--- a/coolify/services/yksw08ogw4c88oswckk8sco8/docker-compose.yml
+++ b/coolify/services/yksw08ogw4c88oswckk8sco8/docker-compose.yml
@@ -9,7 +9,7 @@ services:
COOLIFY_URL: 'https://pocketbase-youtube-seencounter.site.quack-lab.dev'
SERVICE_NAME_POCKETBASE: pocketbase
volumes:
- - '/mnt/data/docker/volumes/captain--pocketbase-youtube-seencounter-data/_data:/app/pb_data'
+ - '/mnt/data/docker/volumes/captain--pocketbase-youtube-seencounter-data/_data:/pb_data'
container_name: pocketbase-yksw08ogw4c88oswckk8sco8
restart: unless-stopped
labels:
diff --git a/coolify/services/z8cko84c4ckw80k4gg008wgk/.env b/coolify/services/z8cko84c4ckw80k4gg008wgk/.env
new file mode 100644
index 0000000..a92f5c8
--- /dev/null
+++ b/coolify/services/z8cko84c4ckw80k4gg008wgk/.env
@@ -0,0 +1,23 @@
+SERVICE_NAME_AFFINE=affine
+SERVICE_NAME_AFFINE_MIGRATION=affine_migration
+SERVICE_NAME_REDIS=redis
+SERVICE_NAME_POSTGRES=postgres
+SERVICE_FQDN_AFFINE=affine.site.quack-lab.dev
+SERVICE_FQDN_AFFINE_3010=affine.site.quack-lab.dev
+SERVICE_PASSWORD_POSTGRES=5isUEmzUS26AkhSlgY0SX5x309wb0m9g
+SERVICE_URL_AFFINE=https://affine.site.quack-lab.dev
+SERVICE_URL_AFFINE_3010=https://affine.site.quack-lab.dev
+SERVICE_USER_POSTGRES=0XjdpcV8sYj5N2yN
+AFFINE_SERVER_EXTERNAL_URL=$SERVICE_URL_AFFINE
+AFFINE_SERVER_HOST=$SERVICE_URL_AFFINE
+POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
+POSTGRES_USER=${SERVICE_USER_POSTGRES}
+COPILOT_FAL_API_KEY=
+COPILOT_OPENAI_API_KEY=
+COPILOT_PERPLEXITY_API_KEY=
+MAILER_HOST=
+MAILER_PASSWORD=
+MAILER_PORT=
+MAILER_SENDER=
+MAILER_USER=
+POSTGRES_DB=affine
\ No newline at end of file
diff --git a/coolify/services/z8cko84c4ckw80k4gg008wgk/docker-compose.yml b/coolify/services/z8cko84c4ckw80k4gg008wgk/docker-compose.yml
new file mode 100644
index 0000000..77150f1
--- /dev/null
+++ b/coolify/services/z8cko84c4ckw80k4gg008wgk/docker-compose.yml
@@ -0,0 +1,222 @@
+services:
+ affine:
+ image: 'ghcr.io/toeverything/affine:stable'
+ depends_on:
+ redis:
+ condition: service_healthy
+ postgres:
+ condition: service_healthy
+ volumes:
+ - 'z8cko84c4ckw80k4gg008wgk_affine-config:/root/.affine/config'
+ - 'z8cko84c4ckw80k4gg008wgk_affine-storage:/root/.affine/storage'
+ logging:
+ driver: json-file
+ options:
+ max-size: 1000m
+ environment:
+ SERVICE_URL_AFFINE_3010: 'https://affine.site.quack-lab.dev'
+ AFFINE_CONFIG_PATH: /root/.affine/config
+ REDIS_SERVER_HOST: redis
+ DATABASE_URL: 'postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-affine}'
+ NODE_ENV: production
+ AFFINE_SERVER_HOST: $SERVICE_URL_AFFINE
+ AFFINE_SERVER_EXTERNAL_URL: $SERVICE_URL_AFFINE
+ MAILER_HOST: '${MAILER_HOST}'
+ MAILER_PORT: '${MAILER_PORT}'
+ MAILER_USER: '${MAILER_USER}'
+ MAILER_PASSWORD: '${MAILER_PASSWORD}'
+ MAILER_SENDER: '${MAILER_SENDER}'
+ COPILOT_FAL_API_KEY: '${COPILOT_FAL_API_KEY}'
+ COPILOT_PERPLEXITY_API_KEY: '${COPILOT_PERPLEXITY_API_KEY}'
+ COPILOT_OPENAI_API_KEY: '${COPILOT_OPENAI_API_KEY}'
+ COOLIFY_RESOURCE_UUID: z8cko84c4ckw80k4gg008wgk
+ COOLIFY_CONTAINER_NAME: affine-z8cko84c4ckw80k4gg008wgk
+ COOLIFY_FQDN: affine.site.quack-lab.dev
+ COOLIFY_URL: 'https://affine.site.quack-lab.dev'
+ SERVICE_NAME_AFFINE: affine
+ SERVICE_NAME_AFFINE_MIGRATION: affine_migration
+ SERVICE_NAME_REDIS: redis
+ SERVICE_NAME_POSTGRES: postgres
+ healthcheck:
+ test:
+ - CMD-SHELL
+ - "bash -c ':> /dev/tcp/127.0.0.1/3010' || exit 1"
+ interval: 5s
+ timeout: 20s
+ retries: 3
+ container_name: affine-z8cko84c4ckw80k4gg008wgk
+ restart: unless-stopped
+ labels:
+ - coolify.managed=true
+ - coolify.version=4.0.0-beta.434
+ - coolify.serviceId=42
+ - coolify.type=service
+ - coolify.name=affine-z8cko84c4ckw80k4gg008wgk
+ - coolify.resourceName=affine
+ - coolify.projectName=services
+ - coolify.serviceName=affine
+ - coolify.environmentName=production
+ - coolify.pullRequestId=0
+ - coolify.service.subId=74
+ - coolify.service.subType=application
+ - coolify.service.subName=affine
+ - traefik.enable=true
+ - traefik.http.middlewares.gzip.compress=true
+ - traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
+ - traefik.http.routers.http-0-z8cko84c4ckw80k4gg008wgk-affine.entryPoints=http
+ - traefik.http.routers.http-0-z8cko84c4ckw80k4gg008wgk-affine.middlewares=redirect-to-https
+ - 'traefik.http.routers.http-0-z8cko84c4ckw80k4gg008wgk-affine.rule=Host(`affine.site.quack-lab.dev`) && PathPrefix(`/`)'
+ - traefik.http.routers.http-0-z8cko84c4ckw80k4gg008wgk-affine.service=http-0-z8cko84c4ckw80k4gg008wgk-affine
+ - traefik.http.routers.https-0-z8cko84c4ckw80k4gg008wgk-affine.entryPoints=https
+ - traefik.http.routers.https-0-z8cko84c4ckw80k4gg008wgk-affine.middlewares=gzip
+ - 'traefik.http.routers.https-0-z8cko84c4ckw80k4gg008wgk-affine.rule=Host(`affine.site.quack-lab.dev`) && PathPrefix(`/`)'
+ - traefik.http.routers.https-0-z8cko84c4ckw80k4gg008wgk-affine.service=https-0-z8cko84c4ckw80k4gg008wgk-affine
+ - traefik.http.routers.https-0-z8cko84c4ckw80k4gg008wgk-affine.tls.certresolver=letsencrypt
+ - traefik.http.routers.https-0-z8cko84c4ckw80k4gg008wgk-affine.tls=true
+ - traefik.http.services.http-0-z8cko84c4ckw80k4gg008wgk-affine.loadbalancer.server.port=3010
+ - traefik.http.services.https-0-z8cko84c4ckw80k4gg008wgk-affine.loadbalancer.server.port=3010
+ - 'caddy_0.encode=zstd gzip'
+ - 'caddy_0.handle_path.0_reverse_proxy={{upstreams 3010}}'
+ - 'caddy_0.handle_path=/*'
+ - caddy_0.header=-Server
+ - 'caddy_0.try_files={path} /index.html /index.php'
+ - 'caddy_0=https://affine.site.quack-lab.dev'
+ - caddy_ingress_network=z8cko84c4ckw80k4gg008wgk
+ networks:
+ z8cko84c4ckw80k4gg008wgk: null
+ affine_migration:
+ image: 'ghcr.io/toeverything/affine:${AFFINE_REVISION:-stable}'
+ restart: on-failure
+ volumes:
+ - 'z8cko84c4ckw80k4gg008wgk_affine-storage:/root/.affine/storage'
+ - 'z8cko84c4ckw80k4gg008wgk_affine-config:/root/.affine/config'
+ command:
+ - sh
+ - '-c'
+ - 'node ./scripts/self-host-predeploy.js'
+ environment:
+ REDIS_SERVER_HOST: redis
+ DATABASE_URL: 'postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-affine}'
+ AFFINE_INDEXER_ENABLED: 'false'
+ COOLIFY_RESOURCE_UUID: z8cko84c4ckw80k4gg008wgk
+ COOLIFY_CONTAINER_NAME: affine_migration-z8cko84c4ckw80k4gg008wgk
+ SERVICE_NAME_AFFINE: affine
+ SERVICE_NAME_AFFINE_MIGRATION: affine_migration
+ SERVICE_NAME_REDIS: redis
+ SERVICE_NAME_POSTGRES: postgres
+ depends_on:
+ postgres:
+ condition: service_healthy
+ redis:
+ condition: service_healthy
+ container_name: affine_migration-z8cko84c4ckw80k4gg008wgk
+ labels:
+ - coolify.managed=true
+ - coolify.version=4.0.0-beta.434
+ - coolify.serviceId=42
+ - coolify.type=service
+ - coolify.name=affine_migration-z8cko84c4ckw80k4gg008wgk
+ - coolify.resourceName=affine
+ - coolify.projectName=services
+ - coolify.serviceName=affine-migration
+ - coolify.environmentName=production
+ - coolify.pullRequestId=0
+ - coolify.service.subId=75
+ - coolify.service.subType=application
+ - coolify.service.subName=affine-migration
+ networks:
+ z8cko84c4ckw80k4gg008wgk: null
+ redis:
+ image: redis
+ volumes:
+ - 'z8cko84c4ckw80k4gg008wgk_affine-redis-data:/data'
+ healthcheck:
+ test:
+ - CMD
+ - redis-cli
+ - '--raw'
+ - incr
+ - ping
+ interval: 10s
+ timeout: 5s
+ retries: 5
+ container_name: redis-z8cko84c4ckw80k4gg008wgk
+ restart: unless-stopped
+ labels:
+ - coolify.managed=true
+ - coolify.version=4.0.0-beta.434
+ - coolify.serviceId=42
+ - coolify.type=service
+ - coolify.name=redis-z8cko84c4ckw80k4gg008wgk
+ - coolify.resourceName=affine
+ - coolify.projectName=services
+ - coolify.serviceName=redis
+ - coolify.environmentName=production
+ - coolify.pullRequestId=0
+ - coolify.service.subId=28
+ - coolify.service.subType=database
+ - coolify.service.subName=redis
+ networks:
+ z8cko84c4ckw80k4gg008wgk: null
+ environment:
+ COOLIFY_RESOURCE_UUID: z8cko84c4ckw80k4gg008wgk
+ COOLIFY_CONTAINER_NAME: redis-z8cko84c4ckw80k4gg008wgk
+ SERVICE_NAME_AFFINE: affine
+ SERVICE_NAME_AFFINE_MIGRATION: affine_migration
+ SERVICE_NAME_REDIS: redis
+ SERVICE_NAME_POSTGRES: postgres
+ postgres:
+ image: 'pgvector/pgvector:pg16'
+ volumes:
+ - 'z8cko84c4ckw80k4gg008wgk_affine-postgres-data:/var/lib/postgresql/data'
+ healthcheck:
+ test:
+ - CMD-SHELL
+ - 'pg_isready -U affine'
+ interval: 10s
+ timeout: 5s
+ retries: 5
+ environment:
+ POSTGRES_USER: '${SERVICE_USER_POSTGRES}'
+ POSTGRES_PASSWORD: '${SERVICE_PASSWORD_POSTGRES}'
+ POSTGRES_DB: '${POSTGRES_DB:-affine}'
+ PGDATA: /var/lib/postgresql/data/pgdata
+ COOLIFY_RESOURCE_UUID: z8cko84c4ckw80k4gg008wgk
+ COOLIFY_CONTAINER_NAME: postgres-z8cko84c4ckw80k4gg008wgk
+ SERVICE_NAME_AFFINE: affine
+ SERVICE_NAME_AFFINE_MIGRATION: affine_migration
+ SERVICE_NAME_REDIS: redis
+ SERVICE_NAME_POSTGRES: postgres
+ container_name: postgres-z8cko84c4ckw80k4gg008wgk
+ restart: unless-stopped
+ labels:
+ - coolify.managed=true
+ - coolify.version=4.0.0-beta.434
+ - coolify.serviceId=42
+ - coolify.type=service
+ - coolify.name=postgres-z8cko84c4ckw80k4gg008wgk
+ - coolify.resourceName=affine
+ - coolify.projectName=services
+ - coolify.serviceName=postgres
+ - coolify.environmentName=production
+ - coolify.pullRequestId=0
+ - coolify.service.subId=76
+ - coolify.service.subType=application
+ - coolify.service.subName=postgres
+ networks:
+ z8cko84c4ckw80k4gg008wgk: null
+volumes:
+ z8cko84c4ckw80k4gg008wgk_affine-config:
+ name: z8cko84c4ckw80k4gg008wgk_affine-config
+ z8cko84c4ckw80k4gg008wgk_affine-storage:
+ name: z8cko84c4ckw80k4gg008wgk_affine-storage
+ z8cko84c4ckw80k4gg008wgk_affine-redis-data:
+ name: z8cko84c4ckw80k4gg008wgk_affine-redis-data
+ z8cko84c4ckw80k4gg008wgk_affine-postgres-data:
+ name: z8cko84c4ckw80k4gg008wgk_affine-postgres-data
+networks:
+ z8cko84c4ckw80k4gg008wgk:
+ name: z8cko84c4ckw80k4gg008wgk
+ external: true
+configs: { }
+secrets: { }
diff --git a/smb.conf b/smb.conf
index 42ff3e6..643c493 100644
--- a/smb.conf
+++ b/smb.conf
@@ -33,7 +33,7 @@
writable = yes
valid users = dave,jana
-[homework]
+[himmich]
path = /mnt/data/himmich
read only = no
browsable = yes
diff --git a/syncthing-sparky/config.xml b/syncthing-sparky/config.xml
index c82e32d..12a4d35 100644
--- a/syncthing-sparky/config.xml
+++ b/syncthing-sparky/config.xml
@@ -1199,51 +1199,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
@@ -2030,51 +1985,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
@@ -2207,54 +2117,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
@@ -3986,54 +3848,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