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",
});