From 2f37235aeaa5f6dc998d5bd628466e76d3286e51 Mon Sep 17 00:00:00 2001 From: EL OUAZIZI Walid <156519881+WalidDevIO@users.noreply.github.com> Date: Sun, 15 Mar 2026 06:46:33 +0100 Subject: [PATCH] fix(volume-backups): restart container before S3 upload in volume backup --- .../server/src/utils/volume-backups/backup.ts | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/server/src/utils/volume-backups/backup.ts b/packages/server/src/utils/volume-backups/backup.ts index e192fd698..68007f907 100644 --- a/packages/server/src/utils/volume-backups/backup.ts +++ b/packages/server/src/utils/volume-backups/backup.ts @@ -39,7 +39,7 @@ export const backupVolume = async ( const rcloneCommand = `rclone copyto ${rcloneFlags.join(" ")} "${volumeBackupPath}/${backupFileName}" "${rcloneDestination}"`; - const baseCommand = ` + const backupCommand = ` set -e echo "Volume name: ${volumeName}" echo "Backup file name: ${backupFileName}" @@ -52,6 +52,10 @@ export const backupVolume = async ( ubuntu \ bash -c "cd /volume_data && tar cvf /backup/${backupFileName} ." echo "Volume backup done ✅" + `; + + const uploadCommand = ` + set -e echo "Starting upload to S3..." ${rcloneCommand} echo "Upload to S3 done ✅" @@ -61,7 +65,10 @@ export const backupVolume = async ( `; if (!turnOff) { - return baseCommand; + return ` + ${backupCommand} + ${uploadCommand} + `; } const serviceLockId = @@ -110,9 +117,10 @@ export const backupVolume = async ( ACTUAL_REPLICAS=$(docker service inspect ${volumeBackup.application?.appName} --format "{{.Spec.Mode.Replicated.Replicas}}") echo "Actual replicas: $ACTUAL_REPLICAS" docker service update --replicas=0 ${volumeBackup.application?.appName} - ${baseCommand} + ${backupCommand} echo "Starting application to $ACTUAL_REPLICAS replicas" docker service update --replicas=$ACTUAL_REPLICAS --with-registry-auth ${volumeBackup.application?.appName} + ${uploadCommand} `); } if (serviceType === "compose") { @@ -147,8 +155,9 @@ export const backupVolume = async ( } return lockWrapper(` ${stopCommand} - ${baseCommand} + ${backupCommand} ${startCommand} + ${uploadCommand} `); } };