diff --git a/apps/dokploy/components/dashboard/settings/web-domain.tsx b/apps/dokploy/components/dashboard/settings/web-domain.tsx index 51cb7af3e..c889708c3 100644 --- a/apps/dokploy/components/dashboard/settings/web-domain.tsx +++ b/apps/dokploy/components/dashboard/settings/web-domain.tsx @@ -36,7 +36,7 @@ import { api } from "@/utils/api"; const addServerDomain = z .object({ - domain: z.string(), + domain: z.string().trim().toLowerCase(), letsEncryptEmail: z.string(), https: z.boolean().optional(), certificateType: z.enum(["letsencrypt", "none", "custom"]), @@ -49,7 +49,11 @@ const addServerDomain = z message: "Required", }); } - if (data.certificateType === "letsencrypt" && !data.letsEncryptEmail) { + if ( + data.https && + data.certificateType === "letsencrypt" && + !data.letsEncryptEmail + ) { ctx.addIssue({ code: z.ZodIssueCode.custom, message: diff --git a/apps/dokploy/server/api/routers/settings.ts b/apps/dokploy/server/api/routers/settings.ts index 5610e8d96..00584bf2d 100644 --- a/apps/dokploy/server/api/routers/settings.ts +++ b/apps/dokploy/server/api/routers/settings.ts @@ -225,9 +225,7 @@ export const settingsRouter = createTRPCRouter({ } const user = await updateUser(ctx.user.ownerId, { host: input.host, - ...(input.letsEncryptEmail && { - letsEncryptEmail: input.letsEncryptEmail, - }), + letsEncryptEmail: input.letsEncryptEmail, certificateType: input.certificateType, https: input.https, }); diff --git a/packages/server/src/lib/auth.ts b/packages/server/src/lib/auth.ts index f1204596c..9c56a7d59 100644 --- a/packages/server/src/lib/auth.ts +++ b/packages/server/src/lib/auth.ts @@ -127,8 +127,6 @@ const { handler, api } = betterAuth({ }); } - console.log(user); - if (IS_CLOUD) { try { const hutk = getHubSpotUTK( diff --git a/packages/server/src/utils/traefik/web-server.ts b/packages/server/src/utils/traefik/web-server.ts index 02472a583..0209d9a21 100644 --- a/packages/server/src/utils/traefik/web-server.ts +++ b/packages/server/src/utils/traefik/web-server.ts @@ -23,11 +23,18 @@ export const updateServerTraefik = ( config.http.routers = config.http.routers || {}; config.http.services = config.http.services || {}; + // Get or create router config, but always update the rule with newHost const currentRouterConfig = config.http.routers[`${appName}-router-app`] || { - rule: `Host(\`${newHost}\`)`, service: `${appName}-service-app`, entryPoints: ["web"], + rule: `Host(\`${newHost}\`)`, }; + + // Always update the rule with the new host + if (newHost) { + currentRouterConfig.rule = `Host(\`${newHost}\`)`; + } + config.http.routers[`${appName}-router-app`] = currentRouterConfig; config.http.services = {