From 260575c6bd66ebaa7969ee32e6d26e93aa617563 Mon Sep 17 00:00:00 2001 From: Hermes Date: Wed, 10 Jun 2026 17:39:37 -0700 Subject: [PATCH] fix: wrap createContainer with user-friendly DC-201 error for missing images --- dashcaddy-api/routes/apps/deploy.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/dashcaddy-api/routes/apps/deploy.js b/dashcaddy-api/routes/apps/deploy.js index 1956000..6da19fe 100644 --- a/dashcaddy-api/routes/apps/deploy.js +++ b/dashcaddy-api/routes/apps/deploy.js @@ -197,8 +197,18 @@ module.exports = function({ docker, caddy, credentialManager, servicesStateManag } } - const container = await docker.client.createContainer(containerConfig); - await container.start(); + let container; + try { + container = await docker.client.createContainer(containerConfig); + await container.start(); + } catch (createErr) { + // If create fails with "no such image", wrap with user-friendly message + const errMsg = createErr?.message || String(createErr); + if (errMsg.includes('No such image') || errMsg.includes('no such image')) { + throw new Error(`[DC-201] Image pull succeeded but container creation failed — image may be corrupted: ${processedTemplate.docker.image}. ${errMsg}`); + } + throw createErr; + } // Prune dangling images to prevent disk bloat try {