diff --git a/apps/dokploy/components/dashboard/database/backups/add-backup.tsx b/apps/dokploy/components/dashboard/database/backups/add-backup.tsx index 5f349b24..219e4218 100644 --- a/apps/dokploy/components/dashboard/database/backups/add-backup.tsx +++ b/apps/dokploy/components/dashboard/database/backups/add-backup.tsx @@ -54,6 +54,7 @@ const AddPostgresBackup1Schema = z.object({ prefix: z.string().min(1, "Prefix required"), enabled: z.boolean(), database: z.string().min(1, "Database required"), + keepLatestCount: z.coerce.number().optional(), }); type AddPostgresBackup = z.infer; @@ -77,6 +78,7 @@ export const AddBackup = ({ databaseId, databaseType, refetch }: Props) => { enabled: true, prefix: "/", schedule: "", + keepLatestCount: undefined, }, resolver: zodResolver(AddPostgresBackup1Schema), }); @@ -88,6 +90,7 @@ export const AddBackup = ({ databaseId, databaseType, refetch }: Props) => { enabled: true, prefix: "/", schedule: "", + keepLatestCount: undefined, }); }, [form, form.reset, form.formState.isSubmitSuccessful]); @@ -117,6 +120,7 @@ export const AddBackup = ({ databaseId, databaseType, refetch }: Props) => { schedule: data.schedule, enabled: data.enabled, database: data.database, + keepLatestCount: data.keepLatestCount, databaseType, ...getDatabaseId, }) @@ -265,7 +269,7 @@ export const AddBackup = ({ databaseId, databaseType, refetch }: Props) => { - Use if you want to storage in a specific path of your + Use if you want to back up in a specific path of your destination/bucket @@ -274,6 +278,24 @@ export const AddBackup = ({ databaseId, databaseType, refetch }: Props) => { ); }} /> + { + return ( + + Keep the latest + + + + + Optional. If provided, only keeps the latest N backups in the cloud. + + + + ); + }} + /> ; @@ -92,6 +92,7 @@ export const UpdateBackup = ({ backupId, refetch }: Props) => { enabled: backup.enabled || false, prefix: backup.prefix, schedule: backup.schedule, + keepLatestCount: backup.keepLatestCount ? Number(backup.keepLatestCount) : undefined, }); } }, [form, form.reset, backup]); @@ -104,6 +105,7 @@ export const UpdateBackup = ({ backupId, refetch }: Props) => { schedule: data.schedule, enabled: data.enabled, database: data.database, + keepLatestCount: data.keepLatestCount as number | null, }) .then(async () => { toast.success("Backup Updated"); @@ -281,7 +283,7 @@ export const UpdateBackup = ({ backupId, refetch }: Props) => { ); }} - /> + />