From cf98900b15d4e4cedaef0d771181478dd5bbccd3 Mon Sep 17 00:00:00 2001 From: Sparky Date: Tue, 21 Oct 2025 07:42:24 +0100 Subject: [PATCH] Update --- .../caddy/config/caddy/Caddyfile.autosave | 84 ++++--- .../proxy/caddy/config/caddy/autosave.json | 2 +- .../affine.site.quack-lab.dev.crt | 49 ++++ .../affine.site.quack-lab.dev.json | 9 + .../affine.site.quack-lab.dev.key | 5 + .../proxy/caddy/data/caddy/last_clean.json | 2 +- .../docker-compose.yml | 1 + .../docker-compose.yml | 2 +- .../services/z8cko84c4ckw80k4gg008wgk/.env | 23 ++ .../docker-compose.yml | 222 ++++++++++++++++++ smb.conf | 2 +- syncthing-sparky/config.xml | 186 --------------- 12 files changed, 359 insertions(+), 228 deletions(-) create mode 100644 coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/affine.site.quack-lab.dev/affine.site.quack-lab.dev.crt create mode 100644 coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/affine.site.quack-lab.dev/affine.site.quack-lab.dev.json create mode 100644 coolify/proxy/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/affine.site.quack-lab.dev/affine.site.quack-lab.dev.key create mode 100644 coolify/services/z8cko84c4ckw80k4gg008wgk/.env create mode 100644 coolify/services/z8cko84c4ckw80k4gg008wgk/docker-compose.yml 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