From 10fa3c8cf156a2a42cbdc0a1a4ae1b60915b41ed Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 17 May 2025 15:18:31 -0600 Subject: [PATCH 1/3] fix: update environment file generation to include APP_NAME variable --- packages/server/src/utils/builders/compose.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/server/src/utils/builders/compose.ts b/packages/server/src/utils/builders/compose.ts index 7b00fc72..92add1e6 100644 --- a/packages/server/src/utils/builders/compose.ts +++ b/packages/server/src/utils/builders/compose.ts @@ -190,7 +190,8 @@ const createEnvFile = (compose: ComposeNested) => { join(COMPOSE_PATH, appName, "code", "docker-compose.yml"); const envFilePath = join(dirname(composeFilePath), ".env"); - let envContent = env || ""; + let envContent = `APP_NAME=${appName}\n`; + envContent += env || ""; if (!envContent.includes("DOCKER_CONFIG")) { envContent += "\nDOCKER_CONFIG=/root/.docker/config.json"; } @@ -219,7 +220,8 @@ export const getCreateEnvFileCommand = (compose: ComposeNested) => { const envFilePath = join(dirname(composeFilePath), ".env"); - let envContent = env || ""; + let envContent = `APP_NAME=${appName}\n`; + envContent += env || ""; if (!envContent.includes("DOCKER_CONFIG")) { envContent += "\nDOCKER_CONFIG=/root/.docker/config.json"; } From cff01ed4383d65b3488e9cc22d6d3e551b20d7a0 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 17 May 2025 15:27:42 -0600 Subject: [PATCH 2/3] refactor: modify template processing to include APP_NAME variable in configuration --- apps/dokploy/server/api/routers/compose.ts | 32 +++++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/apps/dokploy/server/api/routers/compose.ts b/apps/dokploy/server/api/routers/compose.ts index 48c2bfa7..583dde5c 100644 --- a/apps/dokploy/server/api/routers/compose.ts +++ b/apps/dokploy/server/api/routers/compose.ts @@ -439,7 +439,15 @@ export const composeRouter = createTRPCRouter({ } const projectName = slugify(`${project.name} ${input.id}`); - const generate = processTemplate(template.config, { + const appName = `${projectName}-${generatePassword(6)}`; + const config = { + ...template.config, + variables: { + APP_NAME: appName, + ...template.config.variables, + }, + }; + const generate = processTemplate(config, { serverIp: serverIp, projectName: projectName, }); @@ -451,7 +459,7 @@ export const composeRouter = createTRPCRouter({ serverId: input.serverId, name: input.id, sourceType: "raw", - appName: `${projectName}-${generatePassword(6)}`, + appName: appName, isolatedDeployment: true, }); @@ -605,7 +613,15 @@ export const composeRouter = createTRPCRouter({ }); } - const processedTemplate = processTemplate(config, { + const configModified = { + ...config, + variables: { + APP_NAME: compose.appName, + ...config.variables, + }, + }; + + const processedTemplate = processTemplate(configModified, { serverIp: serverIp, projectName: compose.appName, }); @@ -675,7 +691,15 @@ export const composeRouter = createTRPCRouter({ }); } - const processedTemplate = processTemplate(config, { + const configModified = { + ...config, + variables: { + APP_NAME: compose.appName, + ...config.variables, + }, + }; + + const processedTemplate = processTemplate(configModified, { serverIp: serverIp, projectName: compose.appName, }); From 19b56771b8073453372a6d597b53bc268adbdbaa Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 17 May 2025 15:28:52 -0600 Subject: [PATCH 3/3] style: update styling for environment display and increase scroll area height in import component --- .../dashboard/application/advanced/import/show-import.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/dokploy/components/dashboard/application/advanced/import/show-import.tsx b/apps/dokploy/components/dashboard/application/advanced/import/show-import.tsx index 0e848fec..aa359d67 100644 --- a/apps/dokploy/components/dashboard/application/advanced/import/show-import.tsx +++ b/apps/dokploy/components/dashboard/application/advanced/import/show-import.tsx @@ -263,7 +263,7 @@ export const ShowImport = ({ composeId }: Props) => { {templateInfo.template.envs.map((env, index) => (