diff --git a/apps/dokploy/components/dashboard/application/volume-backups/handle-volume-backups.tsx b/apps/dokploy/components/dashboard/application/volume-backups/handle-volume-backups.tsx index 6a621f29a..dbd7c2a1e 100644 --- a/apps/dokploy/components/dashboard/application/volume-backups/handle-volume-backups.tsx +++ b/apps/dokploy/components/dashboard/application/volume-backups/handle-volume-backups.tsx @@ -78,6 +78,14 @@ const formSchema = z path: ["serviceName"], }); } + + if (data.serviceType === "compose" && !data.serviceName) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: "Service name is required", + path: ["serviceName"], + }); + } }); interface Props { diff --git a/apps/dokploy/components/dashboard/application/volume-backups/show-volume-backups.tsx b/apps/dokploy/components/dashboard/application/volume-backups/show-volume-backups.tsx index 9b752ff78..bf823c382 100644 --- a/apps/dokploy/components/dashboard/application/volume-backups/show-volume-backups.tsx +++ b/apps/dokploy/components/dashboard/application/volume-backups/show-volume-backups.tsx @@ -17,7 +17,6 @@ import { import { api } from "@/utils/api"; import { ClipboardList, - Clock, DatabaseBackup, Loader2, Play, @@ -29,19 +28,10 @@ import { ShowDeploymentsModal } from "../deployments/show-deployments-modal"; interface Props { id: string; - volumeBackupType?: - | "application" - | "compose" - | "postgres" - | "mariadb" - | "mongo" - | "mysql"; + type?: "application" | "compose" | "postgres" | "mariadb" | "mongo" | "mysql"; } -export const ShowVolumeBackups = ({ - id, - volumeBackupType = "application", -}: Props) => { +export const ShowVolumeBackups = ({ id, type = "application" }: Props) => { const { data: volumeBackups, isLoading: isLoadingVolumeBackups, @@ -49,7 +39,7 @@ export const ShowVolumeBackups = ({ } = api.volumeBackups.list.useQuery( { id: id || "", - volumeBackupType, + volumeBackupType: type, }, { enabled: !!id, @@ -79,7 +69,7 @@ export const ShowVolumeBackups = ({ {volumeBackups && volumeBackups.length > 0 && ( - + )} @@ -109,7 +99,7 @@ export const ShowVolumeBackups = ({ >
- +
@@ -184,7 +174,7 @@ export const ShowVolumeBackups = ({ { utils.volumeBackups.list.invalidate({ id, - volumeBackupType, + volumeBackupType: type, }); toast.success("Volume backup deleted successfully"); }) @@ -230,7 +220,7 @@ export const ShowVolumeBackups = ({

Create your first volume backup to automate your workflows

- +
)} diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx index 536b5381d..b396837b1 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx @@ -336,15 +336,9 @@ const Service = (
- {/* */} + />
diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx index 5eebff64b..7ab6f20a5 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/compose/[composeId].tsx @@ -4,6 +4,7 @@ import { ShowDeployments } from "@/components/dashboard/application/deployments/ import { ShowDomains } from "@/components/dashboard/application/domains/show-domains"; import { ShowEnvironment } from "@/components/dashboard/application/environment/show-enviroment"; import { ShowSchedules } from "@/components/dashboard/application/schedules/show-schedules"; +import { ShowVolumeBackups } from "@/components/dashboard/application/volume-backups/show-volume-backups"; import { AddCommandCompose } from "@/components/dashboard/compose/advanced/add-command"; import { DeleteService } from "@/components/dashboard/compose/delete-service"; import { ShowGeneralCompose } from "@/components/dashboard/compose/general/show"; @@ -57,7 +58,8 @@ type TabState = | "advanced" | "deployments" | "domains" - | "monitoring"; + | "monitoring" + | "volumeBackups"; const Service = ( props: InferGetServerSidePropsType, @@ -226,6 +228,9 @@ const Service = ( Deployments Backups Schedules + + Volume Backups + Logs {((data?.serverId && isCloud) || !data?.server) && ( Monitoring @@ -255,7 +260,11 @@ const Service = (
- + +
+ +
+
@@ -342,6 +351,7 @@ const Service = (
+