diff --git a/apps/dokploy/components/dashboard/impersonation/impersonation-bar.tsx b/apps/dokploy/components/dashboard/impersonation/impersonation-bar.tsx
index a5aae598c..b96b7c866 100644
--- a/apps/dokploy/components/dashboard/impersonation/impersonation-bar.tsx
+++ b/apps/dokploy/components/dashboard/impersonation/impersonation-bar.tsx
@@ -281,7 +281,7 @@ export const ImpersonationBar = () => {
diff --git a/apps/dokploy/components/layouts/user-nav.tsx b/apps/dokploy/components/layouts/user-nav.tsx
index ca5854196..337e8f483 100644
--- a/apps/dokploy/components/layouts/user-nav.tsx
+++ b/apps/dokploy/components/layouts/user-nav.tsx
@@ -44,7 +44,7 @@ export const UserNav = () => {
>
diff --git a/packages/server/src/utils/notifications/volume-backup.ts b/packages/server/src/utils/notifications/volume-backup.ts
index f95ecbf39..701563b6f 100644
--- a/packages/server/src/utils/notifications/volume-backup.ts
+++ b/packages/server/src/utils/notifications/volume-backup.ts
@@ -25,7 +25,14 @@ export const sendVolumeBackupNotifications = async ({
projectName: string;
applicationName: string;
volumeName: string;
- serviceType: "application" | "postgres" | "mysql" | "mongodb" | "mariadb" | "redis" | "compose";
+ serviceType:
+ | "application"
+ | "postgres"
+ | "mysql"
+ | "mongodb"
+ | "mariadb"
+ | "redis"
+ | "compose";
type: "error" | "success";
organizationId: string;
errorMessage?: string;
@@ -106,11 +113,15 @@ export const sendVolumeBackupNotifications = async ({
value: serviceType,
inline: true,
},
- ...(backupSize ? [{
- name: decorate("`📊`", "Backup Size"),
- value: backupSize,
- inline: true,
- }] : []),
+ ...(backupSize
+ ? [
+ {
+ name: decorate("`📊`", "Backup Size"),
+ value: backupSize,
+ inline: true,
+ },
+ ]
+ : []),
{
name: decorate("`📅`", "Date"),
value: ``,
@@ -236,11 +247,15 @@ export const sendVolumeBackupNotifications = async ({
value: serviceType,
short: true,
},
- ...(backupSize ? [{
- title: "Backup Size",
- value: backupSize,
- short: true,
- }] : []),
+ ...(backupSize
+ ? [
+ {
+ title: "Backup Size",
+ value: backupSize,
+ short: true,
+ },
+ ]
+ : []),
{
title: "Time",
value: date.toLocaleString(),
diff --git a/packages/server/src/utils/volume-backups/utils.ts b/packages/server/src/utils/volume-backups/utils.ts
index 59fb3f6fa..c0b63602c 100644
--- a/packages/server/src/utils/volume-backups/utils.ts
+++ b/packages/server/src/utils/volume-backups/utils.ts
@@ -81,37 +81,52 @@ export const runVolumeBackup = async (volumeBackupId: string) => {
// Send success notification
try {
- const projectName = volumeBackup.application?.environment?.project?.name ||
- volumeBackup.compose?.environment?.project?.name ||
- volumeBackup.postgres?.environment?.project?.name ||
- volumeBackup.mysql?.environment?.project?.name ||
- volumeBackup.mariadb?.environment?.project?.name ||
- volumeBackup.mongo?.environment?.project?.name ||
- volumeBackup.redis?.environment?.project?.name ||
- "Unknown Project";
-
- const organizationId = volumeBackup.application?.environment?.project?.organizationId ||
- volumeBackup.compose?.environment?.project?.organizationId ||
- volumeBackup.postgres?.environment?.project?.organizationId ||
- volumeBackup.mysql?.environment?.project?.organizationId ||
- volumeBackup.mariadb?.environment?.project?.organizationId ||
- volumeBackup.mongo?.environment?.project?.organizationId ||
- volumeBackup.redis?.environment?.project?.organizationId ||
- "";
+ const projectName =
+ volumeBackup.application?.environment?.project?.name ||
+ volumeBackup.compose?.environment?.project?.name ||
+ volumeBackup.postgres?.environment?.project?.name ||
+ volumeBackup.mysql?.environment?.project?.name ||
+ volumeBackup.mariadb?.environment?.project?.name ||
+ volumeBackup.mongo?.environment?.project?.name ||
+ volumeBackup.redis?.environment?.project?.name ||
+ "Unknown Project";
+
+ const organizationId =
+ volumeBackup.application?.environment?.project?.organizationId ||
+ volumeBackup.compose?.environment?.project?.organizationId ||
+ volumeBackup.postgres?.environment?.project?.organizationId ||
+ volumeBackup.mysql?.environment?.project?.organizationId ||
+ volumeBackup.mariadb?.environment?.project?.organizationId ||
+ volumeBackup.mongo?.environment?.project?.organizationId ||
+ volumeBackup.redis?.environment?.project?.organizationId ||
+ "";
// Map service type to match notification function expectations
- const mappedServiceType = volumeBackup.serviceType === "mongo" ? "mongodb" : volumeBackup.serviceType;
+ const mappedServiceType =
+ volumeBackup.serviceType === "mongo"
+ ? "mongodb"
+ : volumeBackup.serviceType;
await sendVolumeBackupNotifications({
projectName,
applicationName: volumeBackup.name,
volumeName: volumeBackup.volumeName,
- serviceType: mappedServiceType as "application" | "postgres" | "mysql" | "mongodb" | "mariadb" | "redis" | "compose",
+ serviceType: mappedServiceType as
+ | "application"
+ | "postgres"
+ | "mysql"
+ | "mongodb"
+ | "mariadb"
+ | "redis"
+ | "compose",
type: "success",
organizationId,
});
} catch (notificationError) {
- console.error("Failed to send volume backup success notification:", notificationError);
+ console.error(
+ "Failed to send volume backup success notification:",
+ notificationError,
+ );
}
} catch (error) {
const { VOLUME_BACKUPS_PATH } = paths(!!serverId);
@@ -130,38 +145,53 @@ export const runVolumeBackup = async (volumeBackupId: string) => {
// Send error notification
try {
- const projectName = volumeBackup.application?.environment?.project?.name ||
- volumeBackup.compose?.environment?.project?.name ||
- volumeBackup.postgres?.environment?.project?.name ||
- volumeBackup.mysql?.environment?.project?.name ||
- volumeBackup.mariadb?.environment?.project?.name ||
- volumeBackup.mongo?.environment?.project?.name ||
- volumeBackup.redis?.environment?.project?.name ||
- "Unknown Project";
-
- const organizationId = volumeBackup.application?.environment?.project?.organizationId ||
- volumeBackup.compose?.environment?.project?.organizationId ||
- volumeBackup.postgres?.environment?.project?.organizationId ||
- volumeBackup.mysql?.environment?.project?.organizationId ||
- volumeBackup.mariadb?.environment?.project?.organizationId ||
- volumeBackup.mongo?.environment?.project?.organizationId ||
- volumeBackup.redis?.environment?.project?.organizationId ||
- "";
+ const projectName =
+ volumeBackup.application?.environment?.project?.name ||
+ volumeBackup.compose?.environment?.project?.name ||
+ volumeBackup.postgres?.environment?.project?.name ||
+ volumeBackup.mysql?.environment?.project?.name ||
+ volumeBackup.mariadb?.environment?.project?.name ||
+ volumeBackup.mongo?.environment?.project?.name ||
+ volumeBackup.redis?.environment?.project?.name ||
+ "Unknown Project";
+
+ const organizationId =
+ volumeBackup.application?.environment?.project?.organizationId ||
+ volumeBackup.compose?.environment?.project?.organizationId ||
+ volumeBackup.postgres?.environment?.project?.organizationId ||
+ volumeBackup.mysql?.environment?.project?.organizationId ||
+ volumeBackup.mariadb?.environment?.project?.organizationId ||
+ volumeBackup.mongo?.environment?.project?.organizationId ||
+ volumeBackup.redis?.environment?.project?.organizationId ||
+ "";
// Map service type to match notification function expectations
- const mappedServiceType = volumeBackup.serviceType === "mongo" ? "mongodb" : volumeBackup.serviceType;
+ const mappedServiceType =
+ volumeBackup.serviceType === "mongo"
+ ? "mongodb"
+ : volumeBackup.serviceType;
await sendVolumeBackupNotifications({
projectName,
applicationName: volumeBackup.name,
volumeName: volumeBackup.volumeName,
- serviceType: mappedServiceType as "application" | "postgres" | "mysql" | "mongodb" | "mariadb" | "redis" | "compose",
+ serviceType: mappedServiceType as
+ | "application"
+ | "postgres"
+ | "mysql"
+ | "mongodb"
+ | "mariadb"
+ | "redis"
+ | "compose",
type: "error",
organizationId,
errorMessage: error instanceof Error ? error.message : String(error),
});
} catch (notificationError) {
- console.error("Failed to send volume backup error notification:", notificationError);
+ console.error(
+ "Failed to send volume backup error notification:",
+ notificationError,
+ );
}
console.error(error);