diff --git a/.vscode/settings.json b/.vscode/settings.json index 99357f2369..698574862a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,5 +4,8 @@ "editor.codeActionsOnSave": { "source.fixAll.biome": "explicit", "source.organizeImports.biome": "explicit" + }, + "[typescriptreact]": { + "editor.defaultFormatter": "biomejs.biome" } } diff --git a/apps/dokploy/__test__/traefik/server/update-server-config.test.ts b/apps/dokploy/__test__/traefik/server/update-server-config.test.ts index b422279ca6..c0e9224b6a 100644 --- a/apps/dokploy/__test__/traefik/server/update-server-config.test.ts +++ b/apps/dokploy/__test__/traefik/server/update-server-config.test.ts @@ -24,6 +24,7 @@ const baseSettings: WebServerSettings = { serverIp: null, letsEncryptEmail: null, sshPrivateKey: null, + nickname: null, enableDockerCleanup: false, logCleanupCron: null, metricsConfig: { diff --git a/apps/dokploy/components/dashboard/settings/web-domain.tsx b/apps/dokploy/components/dashboard/settings/web-domain.tsx index 29c7be5eb1..3d79455470 100644 --- a/apps/dokploy/components/dashboard/settings/web-domain.tsx +++ b/apps/dokploy/components/dashboard/settings/web-domain.tsx @@ -39,6 +39,10 @@ const addServerDomain = z letsEncryptEmail: z.string(), https: z.boolean().optional(), certificateType: z.enum(["letsencrypt", "none", "custom"]), + nickname: z + .string() + .max(50, "Nickname must be 50 characters or less") + .optional(), }) .superRefine((data, ctx) => { if (data.https && !data.certificateType) { @@ -75,6 +79,7 @@ export const WebDomain = () => { certificateType: "none", letsEncryptEmail: "", https: false, + nickname: "", }, resolver: zodResolver(addServerDomain), }); @@ -89,6 +94,7 @@ export const WebDomain = () => { certificateType: data?.certificateType || "none", letsEncryptEmail: data?.letsEncryptEmail || "", https: data?.https || false, + nickname: data?.nickname || "", }); } }, [form, form.reset, data]); @@ -99,6 +105,7 @@ export const WebDomain = () => { letsEncryptEmail: data.letsEncryptEmail, certificateType: data.certificateType, https: data.https, + nickname: data.nickname, }) .then(async () => { await refetch(); @@ -141,8 +148,30 @@ export const WebDomain = () => {
+ { + return ( + + Nickname + + + + + Displayed in the browser tab title. + + + + ); + }} + /> { control={form.control} name="https" render={({ field }) => ( - +
HTTPS @@ -209,7 +238,7 @@ export const WebDomain = () => { name="certificateType" render={({ field }) => { return ( - + Certificate Provider