From 295b6df5e1557673a383fe6ebc4c0950ae241fea Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Fri, 1 Aug 2025 01:15:29 -0600 Subject: [PATCH] refactor(compose): reorganize imports and simplify command execution for starting Docker Compose --- packages/server/src/services/compose.ts | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/packages/server/src/services/compose.ts b/packages/server/src/services/compose.ts index 8b3bd3b0f..bb1b2e8a0 100644 --- a/packages/server/src/services/compose.ts +++ b/packages/server/src/services/compose.ts @@ -1,8 +1,12 @@ import { join } from "node:path"; import { paths } from "@dokploy/server/constants"; import { db } from "@dokploy/server/db"; -import { type apiCreateCompose, compose } from "@dokploy/server/db/schema"; -import { buildAppName, cleanAppName } from "@dokploy/server/db/schema"; +import { + type apiCreateCompose, + buildAppName, + cleanAppName, + compose, +} from "@dokploy/server/db/schema"; import { buildCompose, getBuildComposeCommand, @@ -516,19 +520,20 @@ export const startCompose = async (composeId: string) => { const compose = await findComposeById(composeId); try { const { COMPOSE_PATH } = paths(!!compose.serverId); + + const projectPath = join(COMPOSE_PATH, compose.appName, "code"); + const path = + compose.sourceType === "raw" ? "docker-compose.yml" : compose.composePath; + const baseCommand = `docker compose -p ${compose.appName} -f ${path} up -d`; if (compose.composeType === "docker-compose") { if (compose.serverId) { await execAsyncRemote( compose.serverId, - `cd ${join( - COMPOSE_PATH, - compose.appName, - "code", - )} && docker compose -p ${compose.appName} up -d`, + `cd ${projectPath} && ${baseCommand}`, ); } else { - await execAsync(`docker compose -p ${compose.appName} up -d`, { - cwd: join(COMPOSE_PATH, compose.appName, "code"), + await execAsync(baseCommand, { + cwd: projectPath, }); } }