Files
dokploy/packages/server/src/utils/volume-backups/index.ts
T

32 lines
938 B
TypeScript

export * from "./backup";
export * from "./restore";
export * from "./utils";
import { volumeBackups } from "@dokploy/server/db/schema";
import { eq } from "drizzle-orm";
import { db } from "../../db/index";
import { scheduleVolumeBackup } from "./utils";
export const initVolumeBackupsCronJobs = async () => {
console.log("Setting up volume backups cron jobs....");
try {
const volumeBackupsResult = await db.query.volumeBackups.findMany({
where: eq(volumeBackups.enabled, true),
with: {
application: true,
compose: true,
},
});
console.log(`Initializing ${volumeBackupsResult.length} volume backups`);
for (const volumeBackup of volumeBackupsResult) {
scheduleVolumeBackup(volumeBackup.volumeBackupId);
console.log(
`Initialized volume backup: ${volumeBackup.name} ${volumeBackup.serviceType} ✅`,
);
}
} catch (error) {
console.log(`Error initializing volume backups: ${error}`);
}
};