diff --git a/apps/dokploy/components/dashboard/application/domains/handle-domain.tsx b/apps/dokploy/components/dashboard/application/domains/handle-domain.tsx index 20b886435..d228641a1 100644 --- a/apps/dokploy/components/dashboard/application/domains/handle-domain.tsx +++ b/apps/dokploy/components/dashboard/application/domains/handle-domain.tsx @@ -763,6 +763,37 @@ export const AddDomain = ({ id, type, domainId = "", children }: Props) => { Custom + + {field.value === "none" && ( + <> + None serves TLS using any + certificate you created in the{" "} + + Certificates + {" "} + section whose CN/SAN matches this host — + Traefik selects it automatically via SNI. + + )} + {field.value === "letsencrypt" && ( + <> + Let's Encrypt auto-provisions + a certificate automatically for this host. + + )} + {field.value === "custom" && ( + <> + Custom uses a Traefik cert + resolver by name (defined in your static + configuration). + + )} + {!field.value && + "Select a certificate provider to see how TLS will be served for this host."} + ); @@ -777,10 +808,19 @@ export const AddDomain = ({ id, type, domainId = "", children }: Props) => { return ( Custom Certificate Resolver + + Enter the name of a Traefik + cert resolver defined in your static + configuration (e.g. letsencrypt) — + not certificate or private key content. To use a + certificate you pasted in the Certificates + section, choose None instead + and Traefik will match it by SNI. + { diff --git a/apps/dokploy/pages/index.tsx b/apps/dokploy/pages/index.tsx index e68f08bf6..0be614d3c 100644 --- a/apps/dokploy/pages/index.tsx +++ b/apps/dokploy/pages/index.tsx @@ -187,6 +187,7 @@ export default function Home({ IS_CLOUD, enforceSSO }: Props) { {IS_CLOUD && }
- +
{ )} diff --git a/apps/dokploy/pages/reset-password.tsx b/apps/dokploy/pages/reset-password.tsx index eff238979..46a655298 100644 --- a/apps/dokploy/pages/reset-password.tsx +++ b/apps/dokploy/pages/reset-password.tsx @@ -123,6 +123,7 @@ export default function Home({ tokenResetPassword }: Props) { )} diff --git a/apps/dokploy/pages/send-reset-password.tsx b/apps/dokploy/pages/send-reset-password.tsx index 63154d050..7d3c47d51 100644 --- a/apps/dokploy/pages/send-reset-password.tsx +++ b/apps/dokploy/pages/send-reset-password.tsx @@ -110,6 +110,7 @@ export default function Home() { {!temp.is2FAEnabled ? ( diff --git a/apps/dokploy/server/api/routers/deployment.ts b/apps/dokploy/server/api/routers/deployment.ts index d17a04dfb..0d7a91371 100644 --- a/apps/dokploy/server/api/routers/deployment.ts +++ b/apps/dokploy/server/api/routers/deployment.ts @@ -243,7 +243,11 @@ export const deploymentRouter = createTRPCRouter({ } const command = `tail -n ${input.tail} "${deployment.logPath}" 2>/dev/null || echo ""`; - const serverId = deployment.serverId || deployment.schedule?.serverId; + const serverId = + deployment.serverId || + deployment.schedule?.serverId || + deployment.application?.serverId || + deployment.compose?.serverId; if (serverId) { const { stdout } = await execAsyncRemote(serverId, command); return stdout; diff --git a/packages/server/src/services/deployment.ts b/packages/server/src/services/deployment.ts index a5ff57779..0431de18e 100644 --- a/packages/server/src/services/deployment.ts +++ b/packages/server/src/services/deployment.ts @@ -84,6 +84,7 @@ export const findDeploymentById = async (deploymentId: string) => { where: eq(deployments.deploymentId, deploymentId), with: { application: true, + compose: true, schedule: true, }, });