From 22a26e9873376a68bb43047dfbf411e3bfd17bfa Mon Sep 17 00:00:00 2001 From: Vyacheslav Scherbinin Date: Wed, 9 Jul 2025 13:53:05 +0700 Subject: [PATCH 01/12] fix(ui): application tabs overflow --- .../services/application/[applicationId].tsx | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx index a1c80d7dd..e1f87b652 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx @@ -218,17 +218,9 @@ const Service = ( router.push(newPath); }} > -
+
+ className="flex gap-8 justify-start"> General Environment Domains From 3a82c4b27bf41659cbbef545a0737390fb4c35cd Mon Sep 17 00:00:00 2001 From: Vyacheslav Scherbinin Date: Wed, 9 Jul 2025 13:53:14 +0700 Subject: [PATCH 02/12] fix(ui): compose tabs overflow --- .../[projectId]/services/compose/[composeId].tsx | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx index 957051429..067b0d441 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx @@ -211,17 +211,8 @@ const Service = ( router.push(newPath); }} > -
- +
+ General Environment Domains From 9b2ea1cade145d39da1823d79ab2f5a6aa7e1a51 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Wed, 9 Jul 2025 07:07:04 +0000 Subject: [PATCH 03/12] [autofix.ci] apply automated fixes --- .../[projectId]/services/application/[applicationId].tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx index e1f87b652..5fd1b0b80 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx @@ -219,8 +219,7 @@ const Service = ( }} >
- + General Environment Domains From caea934f885a8be09d18c2480fa74d75ca727a7e Mon Sep 17 00:00:00 2001 From: Vyacheslav Scherbinin Date: Wed, 9 Jul 2025 14:16:02 +0700 Subject: [PATCH 04/12] fix(typo): double space --- .../services/application/[applicationId].tsx | 12 ++++++------ .../[projectId]/services/compose/[composeId].tsx | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx index 5fd1b0b80..5a56e5eb5 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx @@ -111,13 +111,13 @@ const Service = (
- +
-
+
@@ -299,7 +299,7 @@ const Service = ( -
+
-
+
-
+
-
+
- +
-
+
@@ -331,7 +331,7 @@ const Service = ( -
+
Date: Wed, 9 Jul 2025 14:20:07 +0700 Subject: [PATCH 05/12] fix(ui): application provider tabs layout --- .../components/dashboard/application/general/generic/show.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/dokploy/components/dashboard/application/general/generic/show.tsx b/apps/dokploy/components/dashboard/application/general/generic/show.tsx index 13d3a6d8f..786c79e5c 100644 --- a/apps/dokploy/components/dashboard/application/general/generic/show.tsx +++ b/apps/dokploy/components/dashboard/application/general/generic/show.tsx @@ -153,8 +153,8 @@ export const ShowProviderForm = ({ applicationId }: Props) => { setSab(e as TabState); }} > -
- +
+ Date: Wed, 9 Jul 2025 14:20:17 +0700 Subject: [PATCH 06/12] fix(ui): compose provider tabs layout --- .../components/dashboard/compose/general/generic/show.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/dokploy/components/dashboard/compose/general/generic/show.tsx b/apps/dokploy/components/dashboard/compose/general/generic/show.tsx index cd510ad69..4ea1104bb 100644 --- a/apps/dokploy/components/dashboard/compose/general/generic/show.tsx +++ b/apps/dokploy/components/dashboard/compose/general/generic/show.tsx @@ -142,8 +142,8 @@ export const ShowProviderFormCompose = ({ composeId }: Props) => { setSab(e as TabState); }} > -
- +
+ Date: Wed, 9 Jul 2025 18:17:32 +0700 Subject: [PATCH 07/12] fix(config): the min- and max- variants are not supported with a screens configuration containing mixed units --- apps/dokploy/tailwind.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/dokploy/tailwind.config.ts b/apps/dokploy/tailwind.config.ts index 4a7ec8ac0..15ea693d3 100644 --- a/apps/dokploy/tailwind.config.ts +++ b/apps/dokploy/tailwind.config.ts @@ -23,7 +23,7 @@ const config = { sans: ["var(--font-inter)", ...defaultTheme.fontFamily.sans], }, screens: { - "3xl": "120rem", + "3xl": "1920px", }, maxWidth: { "2xl": "40rem", From 027853a3616c6347eb1c7ceb9005c75e9970c8b0 Mon Sep 17 00:00:00 2001 From: Vyacheslav Scherbinin Date: Wed, 9 Jul 2025 18:20:07 +0700 Subject: [PATCH 08/12] fix(ui): change gap --- .../[projectId]/services/application/[applicationId].tsx | 2 +- .../project/[projectId]/services/compose/[composeId].tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx index 5a56e5eb5..2eb31b445 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx @@ -219,7 +219,7 @@ const Service = ( }} >
- + General Environment Domains diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx index ce1638599..f7e793a64 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx @@ -212,7 +212,7 @@ const Service = ( }} >
- + General Environment Domains From 70e08c96eb16a449da4de1cf75c2636510cd1a21 Mon Sep 17 00:00:00 2001 From: croatialu Date: Fri, 11 Jul 2025 11:55:16 +0800 Subject: [PATCH 09/12] fix: Add gitlabUrl calculation logic and update link references - Use the useMemo hook to calculate gitlabUrl in the SaveGitlabProvider component. - Update link references to use the dynamically generated gitlabUrl, ensuring links correctly point to the corresponding GitLab repositories. --- .../general/generic/save-gitlab-provider.tsx | 14 ++++++++++++-- apps/dokploy/server/api/routers/gitlab.ts | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/apps/dokploy/components/dashboard/application/general/generic/save-gitlab-provider.tsx b/apps/dokploy/components/dashboard/application/general/generic/save-gitlab-provider.tsx index 3b054fc99..2995e45f3 100644 --- a/apps/dokploy/components/dashboard/application/general/generic/save-gitlab-provider.tsx +++ b/apps/dokploy/components/dashboard/application/general/generic/save-gitlab-provider.tsx @@ -43,7 +43,7 @@ import { api } from "@/utils/api"; import { zodResolver } from "@hookform/resolvers/zod"; import { CheckIcon, ChevronsUpDown, HelpCircle, Plus, X } from "lucide-react"; import Link from "next/link"; -import { useEffect } from "react"; +import { useEffect, useMemo } from "react"; import { useForm } from "react-hook-form"; import { toast } from "sonner"; import { z } from "zod"; @@ -96,6 +96,16 @@ export const SaveGitlabProvider = ({ applicationId }: Props) => { const repository = form.watch("repository"); const gitlabId = form.watch("gitlabId"); + const gitlabUrl = useMemo(() => { + const url = gitlabProviders?.find( + (provider) => provider.gitlabId === gitlabId, + )?.gitlabUrl; + + const gitlabUrl = url?.replace(/\/$/, ""); + + return gitlabUrl || "https://gitlab.com"; + }, [gitlabId, gitlabProviders]); + const { data: repositories, isLoading: isLoadingRepositories, @@ -224,7 +234,7 @@ export const SaveGitlabProvider = ({ applicationId }: Props) => { Repository {field.value.owner && field.value.repo && ( Date: Fri, 11 Jul 2025 14:19:58 +0800 Subject: [PATCH 10/12] fix: Optimize the code editor component, adjust the style and structure to ensure the overlay is correctly rendered in the disabled state. --- apps/dokploy/components/shared/code-editor.tsx | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/apps/dokploy/components/shared/code-editor.tsx b/apps/dokploy/components/shared/code-editor.tsx index 23e26e887..19ee80114 100644 --- a/apps/dokploy/components/shared/code-editor.tsx +++ b/apps/dokploy/components/shared/code-editor.tsx @@ -147,7 +147,7 @@ export const CodeEditor = ({ }: Props) => { const { resolvedTheme } = useTheme(); return ( -
+
- {props.disabled && ( -
- )} + > + {props.disabled && ( +
+ )} +
); }; From 58e6a14cd6133d1ce79838f2c46ab4926ccbb03d Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Sat, 12 Jul 2025 04:28:55 +0000 Subject: [PATCH 11/12] [autofix.ci] apply automated fixes --- apps/dokploy/components/shared/code-editor.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/dokploy/components/shared/code-editor.tsx b/apps/dokploy/components/shared/code-editor.tsx index 19ee80114..fe50e8b4a 100644 --- a/apps/dokploy/components/shared/code-editor.tsx +++ b/apps/dokploy/components/shared/code-editor.tsx @@ -168,8 +168,8 @@ export const CodeEditor = ({ props.lineWrapping ? EditorView.lineWrapping : [], language === "yaml" ? autocompletion({ - override: [dockerComposeComplete], - }) + override: [dockerComposeComplete], + }) : [], ]} {...props} From a5b95d8cf3e41b6ccbe13daec66fc551e55cab5b Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Fri, 11 Jul 2025 22:52:47 -0600 Subject: [PATCH 12/12] feat(project): update application name handling during duplication - Extracted and modified the application name by removing the suffix after the last hyphen when duplicating various application types (Postgres, MariaDB, Mongo, MySQL, Redis, Compose). - Ensured consistent naming for duplicated applications across different database types. --- apps/dokploy/server/api/routers/project.ts | 60 +++++++++++++++++++--- 1 file changed, 54 insertions(+), 6 deletions(-) diff --git a/apps/dokploy/server/api/routers/project.ts b/apps/dokploy/server/api/routers/project.ts index 66e0928f5..5744a103e 100644 --- a/apps/dokploy/server/api/routers/project.ts +++ b/apps/dokploy/server/api/routers/project.ts @@ -360,11 +360,17 @@ export const projectRouter = createTRPCRouter({ redirects, previewDeployments, mounts, + appName, ...application } = await findApplicationById(id); + const newAppName = appName.substring( + 0, + appName.lastIndexOf("-"), + ); const newApplication = await createApplication({ ...application, + appName: newAppName, name: input.duplicateInSameProject ? `${application.name} (copy)` : application.name, @@ -424,11 +430,17 @@ export const projectRouter = createTRPCRouter({ break; } case "postgres": { - const { postgresId, mounts, backups, ...postgres } = + const { postgresId, mounts, backups, appName, ...postgres } = await findPostgresById(id); + const newAppName = appName.substring( + 0, + appName.lastIndexOf("-"), + ); + const newPostgres = await createPostgres({ ...postgres, + appName: newAppName, name: input.duplicateInSameProject ? `${postgres.name} (copy)` : postgres.name, @@ -454,10 +466,17 @@ export const projectRouter = createTRPCRouter({ break; } case "mariadb": { - const { mariadbId, mounts, backups, ...mariadb } = + const { mariadbId, mounts, backups, appName, ...mariadb } = await findMariadbById(id); + + const newAppName = appName.substring( + 0, + appName.lastIndexOf("-"), + ); + const newMariadb = await createMariadb({ ...mariadb, + appName: newAppName, name: input.duplicateInSameProject ? `${mariadb.name} (copy)` : mariadb.name, @@ -483,10 +502,17 @@ export const projectRouter = createTRPCRouter({ break; } case "mongo": { - const { mongoId, mounts, backups, ...mongo } = + const { mongoId, mounts, backups, appName, ...mongo } = await findMongoById(id); + + const newAppName = appName.substring( + 0, + appName.lastIndexOf("-"), + ); + const newMongo = await createMongo({ ...mongo, + appName: newAppName, name: input.duplicateInSameProject ? `${mongo.name} (copy)` : mongo.name, @@ -512,10 +538,17 @@ export const projectRouter = createTRPCRouter({ break; } case "mysql": { - const { mysqlId, mounts, backups, ...mysql } = + const { mysqlId, mounts, backups, appName, ...mysql } = await findMySqlById(id); + + const newAppName = appName.substring( + 0, + appName.lastIndexOf("-"), + ); + const newMysql = await createMysql({ ...mysql, + appName: newAppName, name: input.duplicateInSameProject ? `${mysql.name} (copy)` : mysql.name, @@ -541,9 +574,17 @@ export const projectRouter = createTRPCRouter({ break; } case "redis": { - const { redisId, mounts, ...redis } = await findRedisById(id); + const { redisId, mounts, appName, ...redis } = + await findRedisById(id); + + const newAppName = appName.substring( + 0, + appName.lastIndexOf("-"), + ); + const newRedis = await createRedis({ ...redis, + appName: newAppName, name: input.duplicateInSameProject ? `${redis.name} (copy)` : redis.name, @@ -562,10 +603,17 @@ export const projectRouter = createTRPCRouter({ break; } case "compose": { - const { composeId, mounts, domains, ...compose } = + const { composeId, mounts, domains, appName, ...compose } = await findComposeById(id); + + const newAppName = appName.substring( + 0, + appName.lastIndexOf("-"), + ); + const newCompose = await createCompose({ ...compose, + appName: newAppName, name: input.duplicateInSameProject ? `${compose.name} (copy)` : compose.name,