From 2cd62208ac26e99eb03c078df44a0fce94ad8dea Mon Sep 17 00:00:00 2001 From: Hermes Date: Wed, 10 Jun 2026 15:40:00 -0700 Subject: [PATCH] =?UTF-8?q?fix:=20workflows=20route=20mounted=20without=20?= =?UTF-8?q?path=20prefix=20=E2=80=94=20blocked=20all=20API=20on=20free=20t?= =?UTF-8?q?ier;=20fix=2010=20app=20templates=20missing=20fields?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION | 1 + dashcaddy-api/app-templates.js | 28 +++++++++++++++++++--------- dashcaddy-api/package.json | 2 +- dashcaddy-api/src/app.js | 2 +- 4 files changed, 22 insertions(+), 11 deletions(-) create mode 100644 VERSION diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..1cac385 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +1.11.0 diff --git a/dashcaddy-api/app-templates.js b/dashcaddy-api/app-templates.js index e5b13b8..cabf464 100644 --- a/dashcaddy-api/app-templates.js +++ b/dashcaddy-api/app-templates.js @@ -549,7 +549,7 @@ const APP_TEMPLATES = { }, subdomain: "dns2", defaultPort: 953, - healthCheck: null, + healthCheck: "tcp://localhost:53", subpathSupport: 'strip', setupInstructions: [ "Configure zone files in /opt/bind9/config/", @@ -640,14 +640,14 @@ const APP_TEMPLATES = { ], docker: { image: "coredns/coredns:latest", - ports: ["53:53", "53:53/udp"], + ports: ["{{PORT}}:53", "53:53", "53:53/udp"], volumes: ["/opt/coredns/config:/etc/coredns"], environment: {}, command: ["-conf", "/etc/coredns/Corefile"] }, subdomain: "dns4", defaultPort: 53, - healthCheck: null, + healthCheck: "tcp://localhost:53", subpathSupport: 'strip', setupInstructions: [ "Create Corefile in /opt/coredns/config/", @@ -1007,7 +1007,9 @@ const APP_TEMPLATES = { docker: { image: "adminer:latest", ports: ["{{PORT}}:8080"], - volumes: [], + volumes: [ + "/opt/adminer:/var/www/html" + ], environment: { "ADMINER_DEFAULT_SERVER": "postgres" } @@ -1099,6 +1101,7 @@ const APP_TEMPLATES = { popularity: 85, difficulty: "Easy", isDashboardWidget: true, + isStaticSite: true, widgetSelector: ".weather-widget-container", subdomain: null, defaultPort: null, @@ -1126,6 +1129,7 @@ const APP_TEMPLATES = { popularity: 80, difficulty: "Easy", isDashboardWidget: true, + isStaticSite: true, widgetSelector: ".clock-widget-container", subdomain: null, defaultPort: null, @@ -1908,7 +1912,9 @@ const APP_TEMPLATES = { docker: { image: "traefik/whoami:latest", ports: ["{{PORT}}:80"], - volumes: [], + volumes: [ + "/opt/whoami/config:/config" + ], environment: {} }, subdomain: "whoami", @@ -2233,7 +2239,9 @@ const APP_TEMPLATES = { docker: { image: "excalidraw/excalidraw:latest", ports: ["{{PORT}}:80"], - volumes: [], + volumes: [ + "/opt/excalidraw/data:/var/lib/excalidraw" + ], environment: {} }, subdomain: "draw", @@ -2258,7 +2266,9 @@ const APP_TEMPLATES = { docker: { image: "corentinth/it-tools:latest", ports: ["{{PORT}}:80"], - volumes: [], + volumes: [ + "/opt/it-tools/config:/config" + ], environment: {} }, subdomain: "tools", @@ -2417,7 +2427,7 @@ const APP_TEMPLATES = { }, subdomain: "mc", defaultPort: 25565, - healthCheck: null, + healthCheck: "tcp://localhost:25565", subpathSupport: 'none', setupInstructions: [ "Server accepts the Minecraft EULA automatically", @@ -2451,7 +2461,7 @@ const APP_TEMPLATES = { }, subdomain: "valheim", defaultPort: 2456, - healthCheck: null, + healthCheck: "tcp://localhost:2456", subpathSupport: 'none', setupInstructions: [ "Connect via Steam: Add Server > IP:2456", diff --git a/dashcaddy-api/package.json b/dashcaddy-api/package.json index bcb7743..c0a8d50 100644 --- a/dashcaddy-api/package.json +++ b/dashcaddy-api/package.json @@ -1,6 +1,6 @@ { "name": "dashcaddy-api", - "version": "1.10.0", + "version": "1.11.0", "description": "DashCaddy API server - Dashboard backend for Docker, Caddy & DNS management", "main": "server.js", "scripts": { diff --git a/dashcaddy-api/src/app.js b/dashcaddy-api/src/app.js index 2b68e52..bebd952 100644 --- a/dashcaddy-api/src/app.js +++ b/dashcaddy-api/src/app.js @@ -539,7 +539,7 @@ async function createApp() { sslMonitor: ctx.sslMonitor, dnsPropagationChecker: ctx.dnsPropagationChecker })); - apiRouter.use(workflowsRoutes({ + apiRouter.use('/workflows', workflowsRoutes({ workflowEngine: ctx.workflowEngine, licenseManager: ctx.licenseManager, asyncHandler: ctx.asyncHandler