From 1e31ebb9c25c12e8c27e0a404c418c6f0b21b6e2 Mon Sep 17 00:00:00 2001 From: Marukome0743 Date: Thu, 26 Jun 2025 16:49:44 +0900 Subject: [PATCH 1/8] chore: remove unknown `apps/models` from pnpm-workspace.yaml --- pnpm-workspace.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 2cb911dbc..57838092e 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,7 +1,6 @@ packages: - - "apps/dokploy" - "apps/api" + - "apps/dokploy" - "apps/monitoring" - "apps/schedules" - - "apps/models" - "packages/server" From 0c0912f606dfae3309a310a97daecfa7fd7c3888 Mon Sep 17 00:00:00 2001 From: DearTanker <1122669+DearTanker@users.noreply.github.com> Date: Sun, 29 Jun 2025 21:13:36 +0800 Subject: [PATCH 2/8] Style: Remove the width restriction on the server name so that it can be displayed in full. --- .../dashboard/settings/cluster/nodes/show-nodes.tsx | 4 ++-- .../components/dashboard/settings/servers/show-servers.tsx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/dokploy/components/dashboard/settings/cluster/nodes/show-nodes.tsx b/apps/dokploy/components/dashboard/settings/cluster/nodes/show-nodes.tsx index 4354a8bca..51f874d8d 100644 --- a/apps/dokploy/components/dashboard/settings/cluster/nodes/show-nodes.tsx +++ b/apps/dokploy/components/dashboard/settings/cluster/nodes/show-nodes.tsx @@ -87,7 +87,7 @@ export const ShowNodes = ({ serverId }: Props) => { - Hostname + Hostname Status Role Availability @@ -104,7 +104,7 @@ export const ShowNodes = ({ serverId }: Props) => { const isManager = node.Spec.Role === "manager"; return ( - + {node.Description.Hostname} diff --git a/apps/dokploy/components/dashboard/settings/servers/show-servers.tsx b/apps/dokploy/components/dashboard/settings/servers/show-servers.tsx index 813acb340..d6465cf09 100644 --- a/apps/dokploy/components/dashboard/settings/servers/show-servers.tsx +++ b/apps/dokploy/components/dashboard/settings/servers/show-servers.tsx @@ -141,7 +141,7 @@ export const ShowServers = () => { - Name + Name {isCloud && ( Status @@ -173,7 +173,7 @@ export const ShowServers = () => { const isActive = server.serverStatus === "active"; return ( - + {server.name} {isCloud && ( From e004d8bd52a89c5f3b7ba2fbefded2561032748d Mon Sep 17 00:00:00 2001 From: Oleksandr Havrylov Date: Sun, 29 Jun 2025 17:14:50 +0200 Subject: [PATCH 3/8] fix: change default DOCKER_CONFIG to a config directory instead of config.json file --- packages/server/src/utils/builders/compose.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/server/src/utils/builders/compose.ts b/packages/server/src/utils/builders/compose.ts index 92add1e69..d93c9395e 100644 --- a/packages/server/src/utils/builders/compose.ts +++ b/packages/server/src/utils/builders/compose.ts @@ -193,7 +193,7 @@ const createEnvFile = (compose: ComposeNested) => { let envContent = `APP_NAME=${appName}\n`; envContent += env || ""; if (!envContent.includes("DOCKER_CONFIG")) { - envContent += "\nDOCKER_CONFIG=/root/.docker/config.json"; + envContent += "\nDOCKER_CONFIG=/root/.docker"; } if (compose.randomize) { @@ -223,7 +223,7 @@ export const getCreateEnvFileCommand = (compose: ComposeNested) => { let envContent = `APP_NAME=${appName}\n`; envContent += env || ""; if (!envContent.includes("DOCKER_CONFIG")) { - envContent += "\nDOCKER_CONFIG=/root/.docker/config.json"; + envContent += "\nDOCKER_CONFIG=/root/.docker"; } if (compose.randomize) { From cfade317f17b9a68b5a2fefd7cdba654e553ad2e Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 29 Jun 2025 13:47:17 -0600 Subject: [PATCH 4/8] fix: update preview deployment comment to include protocol in domain URL --- packages/server/src/services/preview-deployment.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/server/src/services/preview-deployment.ts b/packages/server/src/services/preview-deployment.ts index 95911a6ed..b1ce6ca23 100644 --- a/packages/server/src/services/preview-deployment.ts +++ b/packages/server/src/services/preview-deployment.ts @@ -171,7 +171,7 @@ export const createPreviewDeployment = async ( const runningComment = getIssueComment( application.name, "initializing", - generateDomain, + `${application.previewHttps ? "https" : "http"}://${generateDomain}`, ); const issue = await octokit.rest.issues.createComment({ From 4796b0cf4e8a0f72bcd99f447fd368d01cd6293e Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 29 Jun 2025 14:09:31 -0600 Subject: [PATCH 5/8] chore: update version in package.json to v0.23.5 --- apps/dokploy/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/dokploy/package.json b/apps/dokploy/package.json index 86aac4e4e..17ab8df84 100644 --- a/apps/dokploy/package.json +++ b/apps/dokploy/package.json @@ -1,6 +1,6 @@ { "name": "dokploy", - "version": "v0.23.4", + "version": "v0.23.5", "private": true, "license": "Apache-2.0", "type": "module", From 526f249d0e937e7f9463ce8e42aa429ba267aefd Mon Sep 17 00:00:00 2001 From: DearTanker <1122669+DearTanker@users.noreply.github.com> Date: Mon, 30 Jun 2025 10:54:45 +0800 Subject: [PATCH 6/8] Style: Make Node Applications more readable --- .../dashboard/settings/cluster/nodes/show-nodes-modal.tsx | 2 +- apps/dokploy/components/ui/badge.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/dokploy/components/dashboard/settings/cluster/nodes/show-nodes-modal.tsx b/apps/dokploy/components/dashboard/settings/cluster/nodes/show-nodes-modal.tsx index 82e6e1f9a..5f0b32fc3 100644 --- a/apps/dokploy/components/dashboard/settings/cluster/nodes/show-nodes-modal.tsx +++ b/apps/dokploy/components/dashboard/settings/cluster/nodes/show-nodes-modal.tsx @@ -20,7 +20,7 @@ export const ShowNodesModal = ({ serverId }: Props) => { Show Swarm Nodes - +
diff --git a/apps/dokploy/components/ui/badge.tsx b/apps/dokploy/components/ui/badge.tsx index 9c41234d6..34c14dcdb 100644 --- a/apps/dokploy/components/ui/badge.tsx +++ b/apps/dokploy/components/ui/badge.tsx @@ -4,7 +4,7 @@ import type * as React from "react"; import { cn } from "@/lib/utils"; const badgeVariants = cva( - "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", + "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold whitespace-nowrap transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", { variants: { variant: { From 64293fce79fdb2c1e24df4785a076fb2164c3e31 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 29 Jun 2025 21:08:51 -0600 Subject: [PATCH 7/8] feat: add kill process functionality to deployments - Implemented a new mutation to kill a running deployment process by its PID. - Updated the deployment schema to include a PID field. - Enhanced the deployment service to handle process termination and status updates. - Modified the deployment scripts to echo PID and schedule ID for better tracking. - Added error handling for the kill process operation. --- .../deployments/show-deployments.tsx | 28 + .../application/schedules/show-schedules.tsx | 16 +- apps/dokploy/drizzle/0098_conscious_chat.sql | 1 + apps/dokploy/drizzle/meta/0098_snapshot.json | 5832 +++++++++++++++++ apps/dokploy/drizzle/meta/_journal.json | 7 + apps/dokploy/server/api/routers/deployment.ts | 31 + packages/server/src/db/schema/deployment.ts | 1 + packages/server/src/services/deployment.ts | 1 + packages/server/src/services/schedule.ts | 7 +- packages/server/src/utils/schedules/utils.ts | 27 +- 10 files changed, 5940 insertions(+), 11 deletions(-) create mode 100644 apps/dokploy/drizzle/0098_conscious_chat.sql create mode 100644 apps/dokploy/drizzle/meta/0098_snapshot.json diff --git a/apps/dokploy/components/dashboard/application/deployments/show-deployments.tsx b/apps/dokploy/components/dashboard/application/deployments/show-deployments.tsx index d095e0efb..b8e773df7 100644 --- a/apps/dokploy/components/dashboard/application/deployments/show-deployments.tsx +++ b/apps/dokploy/components/dashboard/application/deployments/show-deployments.tsx @@ -62,6 +62,8 @@ export const ShowDeployments = ({ const { mutateAsync: rollback, isLoading: isRollingBack } = api.rollback.rollback.useMutation(); + const { mutateAsync: killProcess, isLoading: isKillingProcess } = + api.deployment.killProcess.useMutation(); const [url, setUrl] = React.useState(""); useEffect(() => { @@ -170,6 +172,32 @@ export const ShowDeployments = ({
+ {deployment.pid && deployment.status === "running" && ( + { + await killProcess({ + deploymentId: deployment.deploymentId, + }) + .then(() => { + toast.success("Process killed successfully"); + }) + .catch(() => { + toast.error("Error killing process"); + }); + }} + > + + + )}