From 840a6ce536c0e39ed4ab311c12af9903d7ad3a99 Mon Sep 17 00:00:00 2001 From: unleashit Date: Mon, 14 Apr 2025 15:49:25 -0700 Subject: [PATCH 1/6] fix(git-providers): fix error typo and better type checking for gitea --- packages/server/src/utils/providers/gitea.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/server/src/utils/providers/gitea.ts b/packages/server/src/utils/providers/gitea.ts index 68760559a..0b9aae1f2 100644 --- a/packages/server/src/utils/providers/gitea.ts +++ b/packages/server/src/utils/providers/gitea.ts @@ -128,9 +128,9 @@ export const getGiteaCloneCommand = async ( }); } - if (!giteaId) { + if (!giteaId || !gitea) { const command = ` - echo "Error: ❌ Gitlab Provider not found" >> ${logPath}; + echo "Error: ❌ Gitea Provider not found" >> ${logPath}; exit 1; `; From 23dad6f5220e0b152f83a708eeb0db24099016bd Mon Sep 17 00:00:00 2001 From: unleashit Date: Tue, 15 Apr 2025 00:40:41 -0700 Subject: [PATCH 2/6] feat: add giteaUrlAlt field to forms --- .../settings/git/gitea/add-gitea-provider.tsx | 40 +++++++++++++++++++ .../git/gitea/edit-gitea-provider.tsx | 37 +++++++++++++++++ apps/dokploy/utils/gitea-utils.ts | 3 ++ 3 files changed, 80 insertions(+) diff --git a/apps/dokploy/components/dashboard/settings/git/gitea/add-gitea-provider.tsx b/apps/dokploy/components/dashboard/settings/git/gitea/add-gitea-provider.tsx index 13c65bdf3..fa6e9946a 100644 --- a/apps/dokploy/components/dashboard/settings/git/gitea/add-gitea-provider.tsx +++ b/apps/dokploy/components/dashboard/settings/git/gitea/add-gitea-provider.tsx @@ -17,6 +17,12 @@ import { FormLabel, FormMessage, } from "@/components/ui/form"; +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "@/components/ui/accordion"; import { Input } from "@/components/ui/input"; import { api } from "@/utils/api"; import { @@ -39,6 +45,7 @@ const Schema = z.object({ giteaUrl: z.string().min(1, { message: "Gitea URL is required", }), + giteaUrlAlt: z.string(), clientId: z.string().min(1, { message: "Client ID is required", }), @@ -70,6 +77,7 @@ export const AddGiteaProvider = () => { redirectUri: webhookUrl, name: "", giteaUrl: "https://gitea.com", + giteaUrlAlt: "", }, resolver: zodResolver(Schema), }); @@ -83,6 +91,7 @@ export const AddGiteaProvider = () => { redirectUri: webhookUrl, name: "", giteaUrl: "https://gitea.com", + giteaUrlAlt: "", }); }, [form, webhookUrl, isOpen]); @@ -95,6 +104,7 @@ export const AddGiteaProvider = () => { name: data.name, redirectUri: data.redirectUri, giteaUrl: data.giteaUrl, + giteaUrlAlt: data.giteaUrlAlt, organizationName: data.organizationName, })) as unknown as GiteaProviderResponse; @@ -273,6 +283,36 @@ export const AddGiteaProvider = () => { )} /> + + + Advanced Settings + +

+ Gitea Docker Url: useful only when Gitea's front + end is not exposed to the internet (i.e. you use remote + tunneling) and Dokploy can't access the browser + reachable Gitea Url. In most cases, this is unnessesary. +

+ ( + + Gitea Docker URL + + + + + + )} + /> +
+
+
+ diff --git a/apps/dokploy/components/dashboard/settings/git/gitea/edit-gitea-provider.tsx b/apps/dokploy/components/dashboard/settings/git/gitea/edit-gitea-provider.tsx index 13e43fbf9..a0128cd27 100644 --- a/apps/dokploy/components/dashboard/settings/git/gitea/edit-gitea-provider.tsx +++ b/apps/dokploy/components/dashboard/settings/git/gitea/edit-gitea-provider.tsx @@ -15,6 +15,12 @@ import { FormLabel, FormMessage, } from "@/components/ui/form"; +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "@/components/ui/accordion"; import { Input } from "@/components/ui/input"; import { api } from "@/utils/api"; import { getGiteaOAuthUrl } from "@/utils/gitea-utils"; @@ -30,6 +36,7 @@ import { z } from "zod"; const formSchema = z.object({ name: z.string().min(1, "Name is required"), giteaUrl: z.string().min(1, "Gitea URL is required"), + giteaUrlAlt: z.string(), clientId: z.string().min(1, "Client ID is required"), clientSecret: z.string().min(1, "Client Secret is required"), }); @@ -94,6 +101,7 @@ export const EditGiteaProvider = ({ giteaId }: Props) => { defaultValues: { name: "", giteaUrl: "https://gitea.com", + giteaUrlAlt: "", clientId: "", clientSecret: "", }, @@ -104,6 +112,7 @@ export const EditGiteaProvider = ({ giteaId }: Props) => { form.reset({ name: gitea.gitProvider?.name || "", giteaUrl: gitea.giteaUrl || "https://gitea.com", + giteaUrlAlt: gitea.giteaUrlAlt || "", clientId: gitea.clientId || "", clientSecret: gitea.clientSecret || "", }); @@ -116,6 +125,7 @@ export const EditGiteaProvider = ({ giteaId }: Props) => { gitProviderId: gitea?.gitProvider?.gitProviderId || "", name: values.name, giteaUrl: values.giteaUrl, + giteaUrlAlt: values.giteaUrlAlt, clientId: values.clientId, clientSecret: values.clientSecret, }) @@ -255,6 +265,33 @@ export const EditGiteaProvider = ({ giteaId }: Props) => { )} /> + + + Advanced Settings + +

+ Gitea Docker Url: useful only when Gitea's front end + is not exposed to the internet (i.e. you use remote + tunneling) and Dokploy can't access the browser reachable + Gitea Url. In most cases, this is unnessesary. +

+ ( + + Gitea Docker URL + + + + + + )} + /> +
+
+
+