From eb5ba2f2191aea1e062911a307762a8057831416 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 4 May 2025 16:50:03 -0600 Subject: [PATCH] Enhance compose removal process by adding network disconnection command - Updated the `removeCompose` function to include a command for disconnecting the Docker network before removing the stack or compose application, improving cleanup reliability. - Removed unnecessary console logging in the `getServiceImageDigest` function to streamline output and enhance code clarity. --- packages/server/src/services/compose.ts | 15 ++++++++------- packages/server/src/services/settings.ts | 2 -- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/packages/server/src/services/compose.ts b/packages/server/src/services/compose.ts index f8b0693a..8b3bd3b0 100644 --- a/packages/server/src/services/compose.ts +++ b/packages/server/src/services/compose.ts @@ -478,7 +478,9 @@ export const removeCompose = async ( const projectPath = join(COMPOSE_PATH, compose.appName); if (compose.composeType === "stack") { - const command = `cd ${projectPath} && docker stack rm ${compose.appName} && rm -rf ${projectPath}`; + const command = ` + docker network disconnect ${compose.appName} dokploy-traefik; + cd ${projectPath} && docker stack rm ${compose.appName} && rm -rf ${projectPath}`; if (compose.serverId) { await execAsyncRemote(compose.serverId, command); @@ -489,12 +491,11 @@ export const removeCompose = async ( cwd: projectPath, }); } else { - let command: string; - if (deleteVolumes) { - command = `cd ${projectPath} && docker compose -p ${compose.appName} down --volumes && rm -rf ${projectPath}`; - } else { - command = `cd ${projectPath} && docker compose -p ${compose.appName} down && rm -rf ${projectPath}`; - } + const command = ` + docker network disconnect ${compose.appName} dokploy-traefik; + cd ${projectPath} && docker compose -p ${compose.appName} down ${ + deleteVolumes ? "--volumes" : "" + } && rm -rf ${projectPath}`; if (compose.serverId) { await execAsyncRemote(compose.serverId, command); diff --git a/packages/server/src/services/settings.ts b/packages/server/src/services/settings.ts index fd17a486..75613be0 100644 --- a/packages/server/src/services/settings.ts +++ b/packages/server/src/services/settings.ts @@ -40,8 +40,6 @@ export const getServiceImageDigest = async () => { "docker service inspect dokploy --format '{{.Spec.TaskTemplate.ContainerSpec.Image}}'", ); - console.log("stdout", stdout); - const currentDigest = stdout.trim().split("@")[1]; if (!currentDigest) {