mirror of
https://github.com/Dokploy/dokploy.git
synced 2026-06-30 11:35:22 +02:00
Merge branch 'canary' into feat/tailwind-v4-shadcn-update
This commit is contained in:
@@ -763,6 +763,37 @@ export const AddDomain = ({ id, type, domainId = "", children }: Props) => {
|
||||
<SelectItem value={"custom"}>Custom</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
<FormDescription>
|
||||
{field.value === "none" && (
|
||||
<>
|
||||
<strong>None</strong> serves TLS using any
|
||||
certificate you created in the{" "}
|
||||
<Link
|
||||
href="/dashboard/settings/certificates"
|
||||
className="text-primary"
|
||||
>
|
||||
Certificates
|
||||
</Link>{" "}
|
||||
section whose CN/SAN matches this host —
|
||||
Traefik selects it automatically via SNI.
|
||||
</>
|
||||
)}
|
||||
{field.value === "letsencrypt" && (
|
||||
<>
|
||||
<strong>Let's Encrypt</strong> auto-provisions
|
||||
a certificate automatically for this host.
|
||||
</>
|
||||
)}
|
||||
{field.value === "custom" && (
|
||||
<>
|
||||
<strong>Custom</strong> 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."}
|
||||
</FormDescription>
|
||||
<FormMessage />
|
||||
</FormItem>
|
||||
);
|
||||
@@ -777,10 +808,19 @@ export const AddDomain = ({ id, type, domainId = "", children }: Props) => {
|
||||
return (
|
||||
<FormItem>
|
||||
<FormLabel>Custom Certificate Resolver</FormLabel>
|
||||
<FormDescription>
|
||||
Enter the <strong>name</strong> of a Traefik
|
||||
cert resolver defined in your static
|
||||
configuration (e.g. <code>letsencrypt</code>) —
|
||||
not certificate or private key content. To use a
|
||||
certificate you pasted in the Certificates
|
||||
section, choose <strong>None</strong> instead
|
||||
and Traefik will match it by SNI.
|
||||
</FormDescription>
|
||||
<FormControl>
|
||||
<Input
|
||||
className="w-full"
|
||||
placeholder="Enter your custom certificate resolver"
|
||||
placeholder="e.g. letsencrypt"
|
||||
{...field}
|
||||
value={field.value || ""}
|
||||
onChange={(e) => {
|
||||
|
||||
@@ -187,6 +187,7 @@ export default function Home({ IS_CLOUD, enforceSSO }: Props) {
|
||||
{IS_CLOUD && <SignInWithGoogle />}
|
||||
<Form {...loginForm}>
|
||||
<form
|
||||
method="post"
|
||||
onSubmit={loginForm.handleSubmit(onSubmit)}
|
||||
className="space-y-4"
|
||||
id="login-form"
|
||||
@@ -268,6 +269,7 @@ export default function Home({ IS_CLOUD, enforceSSO }: Props) {
|
||||
) : (
|
||||
<>
|
||||
<form
|
||||
method="post"
|
||||
onSubmit={onTwoFactorSubmit}
|
||||
className="space-y-4"
|
||||
id="two-factor-form"
|
||||
@@ -342,7 +344,11 @@ export default function Home({ IS_CLOUD, enforceSSO }: Props) {
|
||||
</DialogDescription>
|
||||
</DialogHeader>
|
||||
|
||||
<form onSubmit={onBackupCodeSubmit} className="space-y-4">
|
||||
<form
|
||||
method="post"
|
||||
onSubmit={onBackupCodeSubmit}
|
||||
className="space-y-4"
|
||||
>
|
||||
<div className="flex flex-col gap-2">
|
||||
<Label>Backup Code</Label>
|
||||
<Input
|
||||
|
||||
@@ -172,6 +172,7 @@ const Register = ({ isCloud }: Props) => {
|
||||
)}
|
||||
<Form {...form}>
|
||||
<form
|
||||
method="post"
|
||||
onSubmit={form.handleSubmit(onSubmit)}
|
||||
className="grid gap-4"
|
||||
>
|
||||
|
||||
@@ -123,6 +123,7 @@ export default function Home({ tokenResetPassword }: Props) {
|
||||
)}
|
||||
<Form {...form}>
|
||||
<form
|
||||
method="post"
|
||||
onSubmit={form.handleSubmit(onSubmit)}
|
||||
className="grid gap-4"
|
||||
>
|
||||
|
||||
@@ -110,6 +110,7 @@ export default function Home() {
|
||||
{!temp.is2FAEnabled ? (
|
||||
<Form {...form}>
|
||||
<form
|
||||
method="post"
|
||||
onSubmit={form.handleSubmit(onSubmit)}
|
||||
className="grid gap-4"
|
||||
>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -84,6 +84,7 @@ export const findDeploymentById = async (deploymentId: string) => {
|
||||
where: eq(deployments.deploymentId, deploymentId),
|
||||
with: {
|
||||
application: true,
|
||||
compose: true,
|
||||
schedule: true,
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user