From dc1e12d6ed19ae1ec9d2e7b69b97d6a35464bd8b Mon Sep 17 00:00:00 2001
From: xenonwellz <59710311+xenonwellz@users.noreply.github.com>
Date: Fri, 1 Nov 2024 23:35:42 +0100
Subject: [PATCH] feat(compose): added stop functionality for stack
---
.../components/dashboard/compose/general/actions.tsx | 2 +-
packages/server/src/services/compose.ts | 11 +++++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/apps/dokploy/components/dashboard/compose/general/actions.tsx b/apps/dokploy/components/dashboard/compose/general/actions.tsx
index 365e37f5..37f8ffa8 100644
--- a/apps/dokploy/components/dashboard/compose/general/actions.tsx
+++ b/apps/dokploy/components/dashboard/compose/general/actions.tsx
@@ -71,7 +71,7 @@ export const ComposeActions = ({ composeId }: Props) => {
Autodeploy {data?.autoDeploy && }
- {data?.composeType === "docker-compose" && (
+ {["running", "done"].includes(data?.composeStatus || "") && (
)}
diff --git a/packages/server/src/services/compose.ts b/packages/server/src/services/compose.ts
index 61d7e5fc..7382fa99 100644
--- a/packages/server/src/services/compose.ts
+++ b/packages/server/src/services/compose.ts
@@ -476,6 +476,17 @@ export const stopCompose = async (composeId: string) => {
}
}
+ if (compose.composeType === "stack") {
+ if (compose.serverId) {
+ await execAsyncRemote(
+ compose.serverId,
+ `docker stack rm ${compose.appName}`,
+ );
+ } else {
+ await execAsync(`docker stack rm ${compose.appName}`);
+ }
+ }
+
await updateCompose(composeId, {
composeStatus: "idle",
});