mirror of
https://github.com/andwati/dokploy.git
synced 2026-11-10 14:05:18 +00:00
fix(volume-backups): restart container before S3 upload in volume backup
This commit is contained in:
@@ -39,7 +39,7 @@ export const backupVolume = async (
|
|||||||
|
|
||||||
const rcloneCommand = `rclone copyto ${rcloneFlags.join(" ")} "${volumeBackupPath}/${backupFileName}" "${rcloneDestination}"`;
|
const rcloneCommand = `rclone copyto ${rcloneFlags.join(" ")} "${volumeBackupPath}/${backupFileName}" "${rcloneDestination}"`;
|
||||||
|
|
||||||
const baseCommand = `
|
const backupCommand = `
|
||||||
set -e
|
set -e
|
||||||
echo "Volume name: ${volumeName}"
|
echo "Volume name: ${volumeName}"
|
||||||
echo "Backup file name: ${backupFileName}"
|
echo "Backup file name: ${backupFileName}"
|
||||||
@@ -52,6 +52,10 @@ export const backupVolume = async (
|
|||||||
ubuntu \
|
ubuntu \
|
||||||
bash -c "cd /volume_data && tar cvf /backup/${backupFileName} ."
|
bash -c "cd /volume_data && tar cvf /backup/${backupFileName} ."
|
||||||
echo "Volume backup done ✅"
|
echo "Volume backup done ✅"
|
||||||
|
`;
|
||||||
|
|
||||||
|
const uploadCommand = `
|
||||||
|
set -e
|
||||||
echo "Starting upload to S3..."
|
echo "Starting upload to S3..."
|
||||||
${rcloneCommand}
|
${rcloneCommand}
|
||||||
echo "Upload to S3 done ✅"
|
echo "Upload to S3 done ✅"
|
||||||
@@ -61,7 +65,10 @@ export const backupVolume = async (
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
if (!turnOff) {
|
if (!turnOff) {
|
||||||
return baseCommand;
|
return `
|
||||||
|
${backupCommand}
|
||||||
|
${uploadCommand}
|
||||||
|
`;
|
||||||
}
|
}
|
||||||
|
|
||||||
const serviceLockId =
|
const serviceLockId =
|
||||||
@@ -110,9 +117,10 @@ export const backupVolume = async (
|
|||||||
ACTUAL_REPLICAS=$(docker service inspect ${volumeBackup.application?.appName} --format "{{.Spec.Mode.Replicated.Replicas}}")
|
ACTUAL_REPLICAS=$(docker service inspect ${volumeBackup.application?.appName} --format "{{.Spec.Mode.Replicated.Replicas}}")
|
||||||
echo "Actual replicas: $ACTUAL_REPLICAS"
|
echo "Actual replicas: $ACTUAL_REPLICAS"
|
||||||
docker service update --replicas=0 ${volumeBackup.application?.appName}
|
docker service update --replicas=0 ${volumeBackup.application?.appName}
|
||||||
${baseCommand}
|
${backupCommand}
|
||||||
echo "Starting application to $ACTUAL_REPLICAS replicas"
|
echo "Starting application to $ACTUAL_REPLICAS replicas"
|
||||||
docker service update --replicas=$ACTUAL_REPLICAS --with-registry-auth ${volumeBackup.application?.appName}
|
docker service update --replicas=$ACTUAL_REPLICAS --with-registry-auth ${volumeBackup.application?.appName}
|
||||||
|
${uploadCommand}
|
||||||
`);
|
`);
|
||||||
}
|
}
|
||||||
if (serviceType === "compose") {
|
if (serviceType === "compose") {
|
||||||
@@ -147,8 +155,9 @@ export const backupVolume = async (
|
|||||||
}
|
}
|
||||||
return lockWrapper(`
|
return lockWrapper(`
|
||||||
${stopCommand}
|
${stopCommand}
|
||||||
${baseCommand}
|
${backupCommand}
|
||||||
${startCommand}
|
${startCommand}
|
||||||
|
${uploadCommand}
|
||||||
`);
|
`);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user